JPH07271413A - 制御命令演算処理装置 - Google Patents

制御命令演算処理装置

Info

Publication number
JPH07271413A
JPH07271413A JP6343694A JP6343694A JPH07271413A JP H07271413 A JPH07271413 A JP H07271413A JP 6343694 A JP6343694 A JP 6343694A JP 6343694 A JP6343694 A JP 6343694A JP H07271413 A JPH07271413 A JP H07271413A
Authority
JP
Japan
Prior art keywords
pol
instruction
execution
status
polg
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
JP6343694A
Other languages
English (en)
Other versions
JP2810317B2 (ja
Inventor
Satoru Nagao
哲 長尾
Kazumi Fujikawa
和美 藤川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP6343694A priority Critical patent/JP2810317B2/ja
Publication of JPH07271413A publication Critical patent/JPH07271413A/ja
Application granted granted Critical
Publication of JP2810317B2 publication Critical patent/JP2810317B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 命令の実行性能に影響を与えずに、POL命
令の実行スケジューリングでのタスクスイッチ時間のオ
ーバーヘッドを最小に抑える。 【構成】 汎用マイクロプロセッサμPと産業用プラン
ト制御用のプログラミングPOL命令を実行する専用ハ
ードウェアH/Wである専用プロセッサPOLGと、P
OLコードの命令が格納されているPOLコードメモリ
と、POLGがPOL命令の実行上使用するPOLソー
ス空間とからなり、上記POLGを、POL命令の実行
コードのアドレスを示すプログラムカウンタと、POL
命令実行専用の汎用レジスタであるアキュームレータを
含むPOL命令を実行するのに必要な各種データを記憶
する汎用レジスタと、POLのソースアドレスを計算す
るソースアドレス計算部と、μPとのインターフェース
を行うバスインターフェースと、ソースアクセスを行う
ソースアクセスインターフェースと、POLコードをフ
ェッチするCDIF部と、POL命令の演算を行う演算
部と、実行制御を行う管理部とから構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、産業用プラントコン
トローラ等の制御命令すなわちPOL命令を、汎用マイ
クロプロセッサとPOLGとを組み合せたマルチプロセ
ッサ方式で実行する制御命令演算処理装置に関するもの
である。
【0002】
【従来の技術】図39は、特開昭61−48001号公
報の「プログラマブルコントローラ」に示された従来の
システム構成例である。図において、(50−1)は汎
用マイクロプロセッサ(以下MPU)、(50−2)は
システムメモリ、(50−3)はシステム入出力回路、
(50−4)はプログラムメモリ、(50−5)は1ビ
ット論理プロセッサ(以下LPU)、(50−5)はダ
ミーオペレーションコード発生器を示す。又図40は、
特開昭61−264432号公報の「シーケンス演算制
御装置」に示された従来のシステム構成例である。図に
おいて、(51−1)はタイマーオン・オフ処理、カウ
ンタ処理等のワード(16ビット)毎の演算処理を行う
プロセッサ(以下CPU)、(51−2)は論理和、論
理積、排他論理和等のビットごとの演算処理を行うプロ
セッサ(以下SQC)、(51−3)はワード演算命令
及びビット演算命令からなる一連の命令を記憶するメモ
リを示す。
【0003】次に、特開昭61−48001号公報の
「プログラマブルコントローラ」(図39)に示された
従来のシステム構成例の動作について説明する。この従
来例は、汎用マイクロプロセッサと1ビット論理プロセ
ッサを併用するH/W構成を持ち、汎用μPではシステ
ム制御と数値演算処理を、1ビット論理プロセッサ(以
下LPU)ではシーケンス制御を分担させている。MP
UとLPUは各々実行モードを持っており、数値演算実
行はMPUモードで、シーケンス制御はLPUモードで
行う事になる。これらの実行モードの切り替えは、MP
UモードからLPUモードへは、MPUのモード切り替
え命令によって行われ、LPUモードからMPUモード
へは、LPUのモード切り替え命令によって行われる。
MPUモードの時にはLPUはホールドされ、LPUモ
ードの時にはMPUはホールドされる。
【0004】次に、特開昭61−264432号公報の
「シーケンス演算制御装置」(図40)に示された従来
のシステム構成例の動作について説明する。この従来例
もビット演算部(以下SQC)とワード演算部間でCP
Uがその実行判断を行い、ビット演算で有れば上記SQ
Cへ実行を移し、ワード演算で有ればCPUが続けて実
行する。又、SQCが実行するときはCPUはホールド
されている。
【0005】
【発明が解決しようとする課題】図39で示した従来の
プログラマブルコントローラでは、 (1)MPUの実行する命令とLPUの実行する命令を
意識してモードの切り替えを行う必要がある。 (2)MPUモード時にはLPUはホールド状態にな
り、LPUモード時にはMPUはホールド状態になる。 これらの問題点として、以下があげられる。 (1)MPU/LPUモードを意識するには、アプリケ
ーションプログラムでモード切り替えを行うか、システ
ムで行うか、いずれにしてもS/Wが関与し、システム
全体のオーバヘッドを大きくする。 (2)又、アプリケーションで切り替えを行うとする
と、ユーザーにとっては非常に使い難いシステムとな
り、システムで切り替えを行うと、命令毎にMPU命令
かLPU命令かを認識せねばならず、益々オーバヘッド
は大きくなる。 (3)ホールド状態に移行する時と、ホールド状態が解
除される時にMPUとLPU間でハンドシェークに要す
る時間が必要となる。
【0006】更に、図40で示した従来のシーケンス演
算制御装置でも、 (1)CPUが行う命令かSQCが行う命令かの判断処
理が必要である。 (2)CPU−SQC間のバスの取り合いを相手方をホ
ールドHOLDすることで調停しており、その調停で数
バスサイクル必要である。 (3)SQCの演算結果をCPUへ渡すのにS/W処理
数ステップが必要である。 等の問題点がある。これらのH/W及びS/W処理は、
極端な性能低下を招くことになる。本発明では「汎用μ
Pを用いて、制御用POL命令を高速に実行する。」こ
とが最大の課題である。
【0007】この発明は上記のような課題を解決するた
めになされたものであり、汎用μPと制御命令実行専用
プロセッサを用いて、制御命令を高速に実行することを
主な目的としている。個々の目的を詳述するとつぎのと
おりである。 (1)POL命令実行自体の高速化を図る。 (2)汎用μPとPOL命令実行専用コプロセッサの同
期方法の効率化を図る。 (3)汎用μP実行とPOLG実行の命令の切り分けを
行う。 (4)POLGで検出した命令実行中に発生したエラー
の、汎用μPへのリアルタイムな通知を図る。 (5)POL命令の実行管理F/W(POLエミュレー
タ)と各モジュールの起動スケジュールを管理するF/
W(POLスケジューラ)の、切り替え時間の短縮を行
う。 (6)POLのアプリケーションの不正アクセスをH/
Wで検出し、アプリケーションのデバッグ効率をあげ
る。 (7)POL命令実行時間に影響与えずに、プログラム
モニタやソースモニタ等のPOLプログラムのデバッグ
を行う。
【0008】
【課題を解決するための手段】この発明に係わる制御命
令演算処理装置はつぎのとおりである。POLGを、P
OL命令の実行コードのアドレスを示すPCと、POL
命令実行専用の汎用レジスタであるACCを含むPOL
命令を実行するのに必要な各種データを記憶するレジス
タファイルと、POLのソースアドレスを計算するSA
D部と、前記μPとのI/Fを行うMPIF部と、ソー
スアクセスを行うSAIF部と、POLコードをフェッ
チするCDIF部と、POL命令の演算を行うALU部
と、実行制御を行うEXE部とから構成し、上記CPU
で、前記POLGでのPOL命令の実行を、上記汎用μ
Pのリードバスアクセスと同期させ、上記汎用μPへの
POLステータスとして、POL命令の実行結果をPO
LGから返し、POL命令の実行を起動し、これらの命
令実行状態を監視しているPOLエミュレータと、この
POLエミュレータの動作とPOLGの命令実行を同期
化し、前記POLGのH/Wの動作及びPOLエミュレ
ータ動作のオーバヘッドを最小にした。
【0009】又CPUに、上記POLG内部の上記CD
IF部で上記POL命令のコードを判別し、POLGの
上記H/Wで実行可能な実行命令か、上記汎用μPで実
行することが必要なF/W実行命令かを判別するデコー
ド部を設け、その判断結果を上記POLGから上記汎用
μPへ上記POLステータスとして返し、上記POLエ
ミュレータが前記H/W実行命令か前記F/W実行命令
かを即座に認識できるようにした。
【0010】又CPUで、CDIF部で上記POLステ
ータスのフォーマット構成図内にPOL命令のオペコー
ドを実装して、上記F/W実行命令の実行時に、上記汎
用μPで前記POLステータスのオペコード部を分岐判
断し、上記POLエミュレータの分岐処理に要するオー
バヘッドを削減する。
【0011】又CPUで、POL命令を実行した時に発
生するオーバーフローやメモリパリティエラー等を上記
POLGで検出し、これらエラーをPOLGからPOL
ステータスとして返し、上記POLエミュレータでPO
L命令毎のエラー発生を認識し、エラー発生タイミング
とエラー発生箇所を認識し、命令毎のエラー処理をリア
ルタイムに行う。
【0012】又CPUにおいて、POL命令を実行した
時に発生するエラーを一箇所にまとめるEXステータス
レジスタを設け、EXステータスレジスタにエラー要因
がセットされた事でPOLステータスの上記フォーマッ
トの特定ビットがセットされる様にして、POL命令実
行中に発生する多くのエラー要因を一つにまとめ、上記
POLエミュレータは前記POLステータスの前記特定
のビットのみをチェックして、エラーの発生の有無を確
認し、更にエラー処理内で前記EXステータスレジスタ
の内容をチェックしてどのようなエラーが発生したかを
判断する。
【0013】又CPUで、POLG内部にPOL命令の
実行時間を計数するカウンタを設け、一定時間POL命
令の実行が行われると、上記POLステータスのフォー
マットの特定ビットをセットして、上記POLエミュレ
ータ経由でPOL命令の実行と通信S/Wやメンテナン
ス用S/W等他のS/Wとの時間割スケジューリングを
管理するPOLスケジューラを設け、前記特定ビットを
検出して前記POLスケジューラがPOL命令の占有時
間超過を判断し、各種POLプログラムの集合であるP
OLモジュールについて、切り替え時間のオーバヘッド
を少なくする。
【0014】又CPUにおいて、上記POLG内部に計
数カウンタ値設定用のレジスタを設け、このレジスタの
設定値と上記計数カウンタの出力とを比較するコンパレ
ータとを設け、POL命令の実行占有時間を可変にし、
上記POLスケジューラが任意にPOL命令の実行占有
時間を調整する。
【0015】又CPUにおいて、上記POL命令の実行
より優先順位の高い通信S/Wやメンテナンス用S/W
等からの要求で、POL命令の実行を中断する為の手段
として、POLG内部に他のS/Wからライトできるス
ケジューラポートを設け、上記S/Wがこのスケジュー
ラポートにライトアクセスすることで、POLステータ
スのフォーマットの特定ビットをセットし、上記POL
スケジューラがこの特定ビットを検出して、上記POL
モジュールについて切り替え時間のオーバヘッドを少な
くする。
【0016】又CPUにおいて、上記POLソース空間
をアドレス計算の為にベースポインタを備えた16個の
セグメントに分割し、前記ソース空間のアクセス方式と
して前記セグメント方式を採用し、POLエミュレータ
がソース空間の管理を行う。
【0017】又CPUにおいて、上記POL命令で使用
する4個のインデックスレジスタを設け、該インデック
スレジスタと前記16個のセグメントを使用して16種
類のインデックス修飾を上記POLGで行い、POLソ
ースのアドレス計算を行う。
【0018】又CPUにおいて、上記インデックスレジ
スタと上記セグメントとでインデックス修飾されたソー
スアドレスに対し、これらアドレスの上限値及び下限値
を設定できるソースアドレスリミットレジスタを設け、
POLアプリケーションで誤ったソースアドレス指定が
あった場合に上/下限をチェックし、上/下限を越える
アドレスについてリミットエラーを検出する。
【0019】又CPUにおいて、上記リミットエラーを
検出する為の上記リミットレジスタを上記セグメントレ
ジスタに対応すべく、16個の空間に分割し、POLア
プリケーションで誤ったソースアドレス指定があった場
合に上/下限をチェックし、前記リミットエラーを16
個のソース空間毎に検出する。
【0020】又CPUにおいて、アプリケーションでア
クセスされる上記POLソース空間のリミットエラー
を、POLステータス及びEXステータスのフォーマッ
ト内に実装し、上記POLGから汎用μPにPOLステ
ータスとして返すことで、POLエミュレータにリミッ
トエラーの有ったことをリアルタイムに通知し、エラー
発生時の命令実行状態等を故障情報として残すようにし
た。
【0021】又CPUにおいて、上記POL命令のソー
スアドレスを設定するSARレジスタを設け、この設定
値とPOL命令実行時に計算されたソースアドレスとの
比較を行うコンパレータとを設け、これらの値が一致し
たことを検出し、この検出結果を上記POLエミュレー
タに通知して、POL命令の実行を中断し、メンテナン
スツールからのソースモニタ機能などを行う。
【0022】又CPUにおいて、上記POL命令のソー
スアドレスが一致したことを検出した結果をPOLエミ
ュレータに通知する為、一致結果をPOLステータスフ
ォーマット内の特定ビットに実装してこのフォーマット
を返すことにより上記POLスケジューラに通知し、ソ
ースモニタ機能等のメンテナンスツールへの応答をPO
L命令の実行に影響を与えること無く実現する。
【0023】又CPUにおいて、上記POL命令の実行
アドレスを設定するPCRレジスタを設け、この設定値
とコードフェッチ時に計算されたプログラムカウンタP
C値とを比較するコンパレータとを設け、プログラムカ
ウンタPC値が一致したことを検出し、この検出結果を
POLエミュレータに通知することで、POL命令の実
行を中断し、メンテナンスツールからのプログラムモニ
タ機能などを行う。
【0024】又CPUにおいて、上記POL命令の上記
プログラムカウンタPC値の一致を検出し、その結果を
POLエミュレータに通知する為、一致結果をPOLス
テータスフォーマット内の特定ビットに実装して、この
フォーマットを返すことによりPOLスケジューラに通
知し、プログラムモニタ機能等のメンテナンスツールへ
の応答をPOL命令の実行に影響を与える事無く実現す
る。
【0025】
【作用】この発明における制御命令演算処理装置は、上
記手段に対応して以下の作用を果たす。
【0026】汎用μPもPOLGもお互いの動作中に他
のプロセッサをホールドせずに、汎用μPのバスアクセ
スでPOLGと同期をとっている為、μP−POLG間
でのハンドシェーク処理や競合処理によるオーバヘッド
を無くすこともできる。μPからPOLGへのリードア
クセスで返すPOLステータスに、POLGでの演算結
果を示す事で、POLGでの命令実行状態がμPで認識
でき、又次命令への起動処理も高速に行われる。また、
CDIF部に各POL命令の実行部位を識別する機能を
持つ事で、μPのPOLエミュレータで行うF/W実行
命令か、POLGのみで行うH/W命令かを即座に判断
し、H/W命令で有ればそのままPOLGで命令実行ま
で行う。
【0027】POLステータスに、F/W実行命令であ
る事を示すと共に、POLエミュレータで行う命令コー
ドを実装する事で、F/Wの分岐処理を高速化する。
【0028】更に、POLステータスに、POL命令実
行時のエラー発生を示し、エラー要因レジスタやエラー
発生アドレス,エラー発生データを格納するレジスタに
よって、エラー発生時の解析を容易に行う事ができる。
【0029】EXステータスに、各種エラーの詳細内容
を示す事で、POLステータスのビットアサインを節減
し、POLエミュレータ処理を簡単にする事ができる。
【0030】又、POLG実行時間をカウントするカウ
ンタによって、POLスケジューラに対してPOL命令
実行の占有時間を知らせ、エミュレータからスケジュー
ラへの切り替え時間を最小にすると共に、割り込み処理
を使用したスイッチ(切換)動作に比べ、精度の高いス
イッチ動作が可能となる。
【0031】更に、上記カウンタの設定値を可変とする
事で、POL命令の実行時間をチューニング(調整)す
る事を容易に行う事ができる。
【0032】各種S/Wがセットできるスケジューラへ
のPOL命令中断要求ビットを上記POLステータスに
設けた事で、各S/WとPOLスケジューラ間のスイッ
チ時間を最小にする事ができる。
【0033】16種類のソース空間をサポ−トするセグ
メントレジスタによって、POLのソース空間をアプリ
ケーションで柔軟に使用できる様になる。
【0034】専用プロセッサ内にインデックスレジスタ
を設け、インデックス修飾時のアドレス計算を、POL
Gで行う事によって、POL命令の実行時間を更に短縮
できる。
【0035】16種のインデックスによりPOLソース
のアドレスを高速に計算する。
【0036】ソースアドレスリミットレジスタによっ
て、アプリケーションの不正アドレスを検出する事がで
き、前記レジスタを分割し、不正アドレスをより細かい
範囲で検出できる。又リミットエラーをリアルタイムで
検出できる。
【0037】16個のセグメントに分割して、エラーを
ソース空間毎に検出し、不正アドレスによるアクセスに
柔軟に対応する。
【0038】エラー発生時の命令実行状態等を故障情報
として正確に残すようにする。
【0039】プログラムモニタ機能等のメンテナンスツ
ールへの応答が直接できる。
【0040】ソースアドレス一致検出用に設けた一致レ
ジスタSARと、一致検出した結果をPOLステータス
に示す事によって、POLスケジューラにアドレスが一
致した事を通知する事ができる。メンテナンスツールへ
の応答が直接できるようになる。
【0041】PCアドレス一致検出用に設けた一致レジ
スタPCRと、一致検出した結果をPOLステータスに
示す事によって、POLスケジューラにアドレスが一致
した事を通知する事ができる。又プログラムモニタ機能
を行うこともできる。
【0042】
【実施例】
実施例1.以下、この発明の実施例1を図1および図
2、図3を用いて説明する。まず明細書中で省略して使
用する用語について列挙する。
【0043】SAD部 ブロック(計算用) SAIF ソースアクセスインタフェース
【0044】SAA ソースアドレス DSD 入出力バス ISD 入出力バス CA POLステータスレジスタのアドレス DEC デコード結果信号 FETCH コードフェッチ信号 CODEC デコード済信号 ADCAL ソースアクセス信号 SA ソースアドレス
【0045】ADS POLステータスアクセス HWINS 結果信号 FWINS 結果信号 OVF オーバーフロー(信号) UNF アンダーフロー(信号) MPER メモリのパリティエラー BPER バスのデータパリティエラー ADER バスのアドレスパリティエラー TOUT バスのタイムアウト(信号) EXER1 エラー第1(信号) EXER2 エラー第2(信号) Sch・Req スケジューラリクエスト(信号)
【0046】SASEL セレクト情報 INDEX 追加したインディックス OFFSET オフセット値 LIMER リミットエラー EXER3 エラー第3 SAR 設定レジスタ CALL コール Source Address Consisteuce ソースアドレス一致信
号 SAR 設定用レジスタ PCR 設定用レジスタ Program Counta Lonsisteuce 一致信号
【0047】図1は汎用μPとPOLGで構成させる本
発明の基本構成を示す。図1において、(1−1)は命
令実行の一連の動作を管理し、命令実行のタイミングを
生成する汎用μP、(1−2)は汎用μP(1−1)か
らの命令実行要求を受けて、命令を実行する命令実行H
/W即ちPOLGである。更に、(1−3)はPOL命
令が格納されているPOLコードメモリ。(1−4)
は、POL命令の実行上使用するPOLのソースメモリ
やI/O等のPOLソース空間。(1−5)は、汎用μ
P(1−1)のアドレス線、(1−6)は汎用μP(1
−1)のデータ線、(1−7)はPOLG(1−2)か
らPOLコードメモリ(1−3)へのアドレス線、即ち
POL命令のPCを示す。(1−8)は、POLGから
読み出した信号でPOLコ−ドメモリの内容、即ちPO
Lコードを示し、(1−9)は、POLGがソースアク
セスする時に使用するPOLソースアドレス線を示し、
(1−10)は、POLソース(1−4)のデータ線を
示す。
【0048】図2は、上記図1のPOLG(1−2)の
内部ブロック図を詳示したものである。図2において、
(2−1)は汎用μP(1−1)のバスと接続され、汎
用μPのアクセス内容をデコードするμPバスインタフ
ェース部(MPIF)である。(2−2)は、POLコ
ードをフェッチする為のPOLコードメモリとのインタ
フェースを行う制御部(CDIF部)であり、(2−
3)はPOLコードのアドレス即ちPOL命令の実行プ
ログラムカウンタ値PCである。(2−4)は、POL
命令のソースアドレスを計算するブロック(SAD部)
であり、(2−5)はソース空間をアクセスする為のソ
ースアクセスインタフェース(SAIF)である。(2
−6)は命令実行に必要な論理演算・算術演算部(AL
U)であり、(2−7)はPOL命令実行時のアキュー
ムレータやポインタを示すレジスタファイル(ACC)
である。
【0049】(2−8)は、各ブロックに対する制御信
号を生成している実行管理部(EXE)であり、POL
命令実行時のコードのプリフェッチやパイプライン制御
等POLG内の実行は全てこのEXE(2−8)が管理
している。
【0050】(2−9)はMPIF(2−1)から実行
制御部EXE(2−8)に出力されるμPのデコード結
果信号(DEC)で、POL命令の実行起動信号を示
す。(2−10)はEXE(2−8)から汎用μPへ返
すPOLステータス(信号)を示す。(2−11)はE
XE(2−8)からPOLコードインタフェース部CD
IF部(2−2)へ出力されるコードフェッチ信号、
(2−12)はEXE(2−8)からソースアドレス計
算SAD部(2−4)やソースアクセスインタフェース
SAIF(2−5)へ出力されるソースアクセス開始信
号、(2−13)は、SAD部(2−4)からSAIF
(2−5)へ出力されるソースアドレス(SAA)で、
そのままソース空間のアドレスとして出力される。(2
−14)と(2−15)は、ALU(2−6)及びレジ
スタファイル(2−7)とSAIF部(2−5)とのデ
ータの各入出力バス(OSD,ISD)をそれぞれ示
す。(2−16)はCDIF部(2−2)からEXE
(2−8)及びALU(2−6)、レジスタファイル
(2−7)にデコード結果を示す信号線である。図3は
図1の汎用μPからPOLGに対するPOL命令の起動
を示したタイミングチャートである。
【0051】次に動作について説明する。図1におい
て、POL命令の実行は、汎用μP(1−1)からPO
LG(1−2)に対するPOLステータスのリードアク
セスで起動される。この時アドレス線(1−5)には後
述するPOLステータスレジスタのアドレス(CA)が
出力される。
【0052】[コードフェッチ動作]図1のPOLG
(1−2)では、この汎用μP(1−1)からのリード
アクセスを、図2のMPIF(2−1)で受けると、そ
のCAをデコードし、POLステータスへのアクセスで
あれば、EXE(2−8)に対してDEC信号(2−
9)を有意にする。EXE(2−8)では、このDEC
信号によってCDIF部(2−2)に対してFETCH
信号(2−11)を有意にする事で、CDIF部(2−
2)はPOLコードメモリ(1−3)のアドレスとなる
PC信号をアドレス線(1−7)を介してPOLコード
メモリ(1−3)に出力し、POLコード信号COD
(1−8)をそこから入力する。これをPOL命令のコ
ードフェッチ動作と呼ぶ。このフェッチ動作時にPC
(2−3)がカウントアップ(+1)され、次命令のア
ドレスを示す。
【0053】[デコード動作]前記動作でフェッチされ
た命令コードは、CDIF部(2−2)でデコードさ
れ、信号線(2−16)を介してCODEC信号として
EXE(2−8)に返される。
【0054】[命令実行動作]EXE(2−8)は、C
DIF部(2−2)からのCODEC信号によって、E
XE(2−8)にある後述するステートマシンに次ステ
ートへの実行指示を行う。EXE(2−8)はCODE
C信号に基づいてSAD部(2−4)やSAIF(2−
5)、ALU(2−6)、レジスタファイル(2−7)
に対して制御信号を出力する。
【0055】例えばPOL命令がソースに対するロード
命令である場合は、EXE(2−8)はADCAL(2
−12)によってSAD部(2−4)に対し、アドレス
を計算するような指示を与え、SAIF(2−5)に対
してはSAD部(2−4)から出力されるSAA(2−
13)を使用してソース空間(1−4)をアクセスする
様に指示を与える。SAIF(2−5)は、POLソー
ス空間(1−4)へのアクセスを行う為、ソースアドレ
ス線(1−9)を介してソースアドレスSAを出力し、
ソースデータ線(1−10)を介してソースデータSD
をソース空間(1−4)から読みだしてくる。読み出さ
れたソースデータSDは、SAIF(2−5)を経由し
て入力ソースデータとして入力データバスISD(2−
15)を介してALU(2−6)経由でレジスタファイ
ルACC(2−7)にあるアキュームレータに格納され
る。この時CDIF部(2−2)から出力されるCOD
EC信号(2−16)はALU(2−6)に対してNO
P(無実行)コマンドを指定する事でデータはスルーさ
れる。
【0056】[ステータスライト動作]上記の命令実行
フェーズが終わると、実行の完了した事を汎用μP(1
−1)に通知する為、POLステータスがPOLG(1
−2)から汎用μP(1−1)に返される。これによっ
て汎用μP(1−1)は1回のバスアクセスを完了し、
次の動作を行う。次に他の主な命令について、動作を以
下に示す。コードフェッチ動作、デコード動作、ステー
タスライト動作はどの命令も同じであるので説明は省略
し、命令実行動作について説明する。
【0057】[ストア命令実行動作]命令がストアの場
合もコードフェッチからSAD部(2−4)におけるS
AA(2−13)生成迄は同じで、ACC(2−7)か
らALU(2−6)経由でOSD線(2−14)を用い
て、SAIF(2−5)へそのときのアキュームレータ
の内容が出力され、更にPOLソース空間(1−4)に
ソースデータが書き込まれる。
【0058】[算術・論理演算実行動作]又、加減算等
の算術論理演算は、アキュームレータの内容と指定され
たソースデータとの演算を行い、結果をACC(2−
7)のアキュームレータに格納する動作を行う。即ち、
SAD部(2−4)で計算されたソースアドレスでSA
IF(2−5)が入出力バスISD(2−15)に読み
出したソースデータと、ACCのアキュームレータのデ
ータの演算を、ALU(2−6)部で行い、結果を入出
力バスOSD(2−14)を介して出力しACCのアキ
ュームレータ内に格納する様に動作する。
【0059】上記内容をタイミングチャートに表したも
のが図3である。図3で、ADSは汎用μP(1−1)
のPOLステータスアクセスを示し、POLG(1−
2)でこれを認識すると、コードフェッチ動作を行い、
続けてデコード、命令実行、ステータスライト動作を順
次行う。このシーケンスは全てEXE(2−8)で管理
される。
【0060】汎用μP(1−1)は、POL命令を実行
する時には上記POLステータスを読み出す事で、命令
の実行を順次起動するように動作する。この命令の起動
操作及び実行管理は、汎用μP(1−1)が備える”P
OLエミュレータ”と呼ぶファームウェアF/Wにより
行われる。
【0061】実施例2.図4は実施例1の制御命令演算
装置を使用して実現する他の制御部CDIF部(2−
2)で、この発明の実施例2となるものを示す。実行す
るPOLコードが、H/W実行命令かF/W実行命令か
を示すものである。(4−1)は、POLコードメモリ
(1−3)から読み出してきたPOLコード、(4−
2)はPOLコード(4−1)の一部をデコードし、H
/W実行命令かF/W実行命令かを判別するデコード部
を示す。(4−3),(4−4)は上記デコード部(4
−2)でデコードした結果信号HWINS,FWINS
であり、汎用μP(1−1)にこれら命令の種別がPO
Lステータス(4−5)として埋め込まれる。図5は、
POL命令の実行毎にPOLG(1−2)から汎用μP
(1−1)へ返すPOLステータス(4−5)POL_
STATUSのフォーマットである。図6は、図4のP
OLコードのフォーマットで、H/W実行命令かF/W
実行命令かをCDIF部(2−2)で簡単に認識できる
ようにビットMODEをアサイン(割り当て)してい
る。なお、POLコード(4−1)等はレジスタやバッ
フアに格納されるが、説明上数番号で直接POLコード
そのものを示している。図7は、汎用μP(1−1)で
POLG(1−2)からPOLステータスを読み出した
時のPOLエミュレータの処理フローを書いたものであ
る。
【0062】次に動作について図4、図5、図6、図7
を用いて説明する。汎用μP(1−1)からPOLG
(1−2)に対してPOL命令の起動(POLステータ
スのリード)が行われ、POLG(1−2)がコードフ
ェッチを行う迄は実施例1の動作と同じであるのでここ
では省略する。図4では、コードフェッチを行った際に
CDIF部(2−2)は、デコード部(4−2)で、H
/W命令かF/W命令かの種別を判別し、デコード結果
をHWINS(4−3)又はFWINS(4−4)とし
て汎用μP(1−1)にPOLステータス(4−5)を
埋め込む。又H/W実行命令の場合は、POLG(1−
2)内でそのまま実行される。H/W命令とF/W命令
の切り分けは、使用頻度の高いPOL命令のみを選別し
てH/W命令として、POLGのH/W量を削減し、コ
ストパーフォーマンスの向上をはかっている。
【0063】この時のPOLステータス(4−5)のフ
ォーマットを図5に示す。ビット31とビット30に各
々H/W実行命令である事を示すHWINSビット及び
F/W実行命令である事を示すかFWINSビットをア
サインしている。更に、CDIF部(2−2)のデコー
ド部(4−2)でデコード回路が簡単に組めるようにP
OLコード(4−1)のフォーマット内の最上位3ビッ
トにビットMODEを設けている。図6中のPOLコー
ド(4−1)のフォーマットで、ExT〜Shift迄
のビットフィールドは、ALU(2−6)に対する制御
コードであり、本発明とは直接関係ないのでここでの説
明は省略する。
【0064】次に、汎用μP(1−1)のPOLエミュ
レータの処理フローを図7を用いて説明する。POLエ
ミュレータは、POL命令を実行する時には、POLコ
ードメモリ(1−3)からPOLステータスを読み出し
(ステップS1)、読み出されたPOLステータスのH
WINSビット(4−3)及びFWINSビット(4−
4)をチェックし(ステップS2)、F/W実行命令か
を判別する(ステップS3)。H/W実行命令で有れば
ステップS1に戻り、次のPOLステータスを読み出
し、F/W実行命令であればステップS4にて、POL
エミュレータに命令処理を行う。POLエミュレータで
の命令実行が終了すれば、再びステップS1に戻りPO
Lステータスを読み出し、上記処理を繰り返す。POL
G(4−2)で実行するH/W実行命令は、アプリケー
ションでよく使用される単純な命令を選択しており、実
現性能と照らし合わせた適度なH/Wボリューム(量)
とする事で、不必要なコストアップを抑えている。
【0065】実施例3.図8は、実施例1の制御命令演
算装置を使用して実現する更に他のCDIF部(2−
2)である。(8−1)はPOLコードメモリ(1−
3)からのPOLコード、(8−2)はPOLコード
(8−1)をデコードし、コード部分を抽出する抽出
部、(8−3)は抽出されたPOLステータスである。
この抽出部(8−2)は、図10に示すオペコードを実
装したPOLコード(8−1)からコード部分を抽出
し、図9に示すPOLステータス(8−3)のフォーマ
ットにオペコードをのせるように動作する。POLコー
ド(8−1)は、図10のPOLコードのフォーマット
で示され、POLステータス(8−3)は図9に示すP
OLステータスのフォーマットである。
【0066】次に動作について図8〜図10を用いて説
明する。コードフェッチ動作迄は実施例1と同じである
ので、異なる動作のみについて説明する。POLコード
(8−1)には図6で示したMODEビット以外に、F
/W実行命令時には不要な図6のExtビットからFu
nctionまでをビット“0”にセットし、かつSh
iftビットの替わりに、図10に示すオペコード(分
岐テーブルのオフセット)をPOLステータスに埋め込
む。即ち、コードフェッチ時にPOLコード抽出部(8
−2)でオペコードを抽出し、図9に示すPOLステー
タスの2ビット〜14ビットに、オペコードを埋め込む
事によって、POLエミュレータの実行するF/W実行
命令のテーブル分岐処理を容易にしている。
【0067】実施例4.図11は、実施例1におけるS
AIF(2−5)及びALU(2−6)で各々検出され
るオーバーフロー(11−1)やパリティエラー(11
−2)の各信号をPOLステータス(11−3)にセッ
トする動作を示すものである。図12は図11にに示す
POLステータス(11−3)のフォーマットである。
図13は、これらオーバーフローやパリティエラーの異
常が発生した時のPOLエミュレータの処理を示すもの
である。
【0068】次に動作について図11〜図13を用いて
説明する。コードフェッチ動作からコードのデコード動
作迄は実施例1と同じである。命令実行時に検出される
ALU(2−6)でのオーバフロー等の演算エラーやソ
ースアクセス時にSAIF(2−5)で検出されるパリ
ティエラー等の情報を、図12で示される様にPOLス
テータスに実装して、POLエミュレータは図13に示
す処理を行う事になる。即ち、POLエミュレータがP
OLコードメモリ(1−3)からPOLステータスを読
み出し(ステップS5)、POLステータスチェックを
行う(ステップS6)。オーバーフローOVF(11−
1)やパリティエラーPER(11−2)等の異常ビッ
トがセットされていると(ステップS7)、POLエミ
ュレータで異常処理を行う(ステップS8)。
【0069】異常処理としては、POLの命令実行を中
断し、エラーの発生したPOLソース空間(1−4)の
ソースアドレスやPC値(2−3)を故障情報として収
集する。これらの異常処理は命令の実行性能に影響を与
えず、各命令毎にリアルタイムに処理される。
【0070】実施例5.図14〜図16は、実施例1に
おけるSAIF(2−5)及びALU(2−6)で各々
検出されるエラー要因が実施例4より多い場合の対応策
である。(14−1)は、種々のエラーを集めるEXス
テータスで、図16に示すビットアサインを持つ。(1
4−2)はこの実施例のPOLステータスで、図15に
示すビットアサインを持つ。OVF(14−3)は、A
LU(2−6)での演算結果でオーバフローがでた場合
の信号、UNF(14−4)は、演算結果でアンダーフ
ローがでた場合の信号、MPER(14−5)は、SA
IF(2−5)でソースアクセス時に検出されるメモリ
のパリティエラー信号、BPER(14−6)は、ソー
スアクセス時に検出されるバスのデータパリティエラー
信号、ADER(14−7)は、ソースアクセス時に検
出されるバスのアドレスパリティエラー信号、TOUT
(14−8)は、ソースアクセス時に検出されるバスの
タイムアウト信号を示す。更に、(14−9)及び(1
4−10)は、EXステータス(14−1)から出力さ
れる各種エラー要因の論理和をとったもので、エラー第
1EXER1信号及びエラー第2EXER2信号として
POLステータスに組み込まれて入力される。図17
は、実施例4では格納できない数種類の異常が発生した
時のEXステータスを使用した汎用μP(1−1)の異
常処理フローを示したものである。
【0071】次に動作について図14〜図17を用いて
説明する。図14で、ALU(2−6)やSAIF(2
−5)で検出されるOVF(14−3),UNF(14
−4),及びMPER(14−5),BPER(14−
6),ADER(14−7),TOUT(14−8)を
POLステータスに実装する。次にPOLエミュレータ
でのステータスチェックの項目が多くなり、オーバヘッ
ドを大きくする事になる為、各種エラーをEXステータ
ス(14−1)として一箇所にまとめ、その出力の論理
和をとる事で、POLステータス(14−2)のアサイ
ンを簡潔にし、POLエミュレータの処理を簡単化し処
理性能をあげた。
【0072】図15は、EXステータス(14−1)を
設けた時のPOLステータス(14−2)のフォーマッ
トであり、EXER1(14−9)とEXER2(14
−10)のビットアサインを決めている。
【0073】図16は、EXステータス(14−1)の
ビットアサインを示したもので、汎用μP(1−1)か
らEXステータスを格納するレジスタを読み出す事によ
り、詳細エラー要因が判別できる。図17は、多種類の
エラー要因がある場合の汎用μP(1−1)の異常処理
フローを示したものである。ステップS9でPOLステ
ータス(14−2)を読み出し、ステップS10でPO
Lステータス(14−2)のEXER1及びEXER2
をチェックし、これらのビットが有効で有れば(ステッ
プS11)、異常があったとし、ステップS12に行き
汎用μP(1−1)はEXステータス(14−1)を読
み出し、詳細エラー要因にあった各エラー処理(ステッ
プS13又はステップS14)を行う。
【0074】実施例6.図18は、POLG(1−2)
内部のカウンタで固定値をカウントし、カウントアップ
すると、汎用μP(1−1)にPOLステータス(18
−2)で通知する事を示している。(18−1)は、P
OLモジュールの動作時間を計時するPOLスケジュー
リングカウンタ、(18−2)は図19に示すビットア
サインを持つPOLステータスを示す。(18−3)
は、POLスケジューリングカウンタ(18−1)がP
OLステータス(18−2)へ出力して組み込むスケジ
ューリングタイマ信号を示す。図19は、図18のスケ
ジューリングタイマ信号(18−2)を実装したときの
POLステータスのフォーマットを示す。図20は、P
OLステータス(18−2)のスケジューリングタイマ
信号(18−3)がカウントアップした時のPOLスケ
ジューラとPOLエミュレータの処理フローを示す。こ
こでPOLスケジュールは各種POLモジュールに予め
時間割りを振り当てて管理し、各種POLプログラムが
集合したものがPOLスケジュールである。
【0075】次に動作に付いて図18〜図20を用いて
説明する。図18において、POLスケジューリングカ
ウンタが予め定めた所定時間後にカウントアップする
と、スケジューリングタイマ(18−3)が有意にな
り、POLステータス(18−2)のビットSched
uling Timerがセットされる(図19)。図
2において、POLエミュレータは、POLスケジュー
ラのサブルーチンとして、呼出しCALLされており、
ステップS15でPOLステータスを読み出し、POL
エミュレータがPOLステータスをチェック(ステップ
S16)する。Scheduling Timerビッ
トがセットされると(ステップS17)、POLエミュ
レータは、POLモジュールの切り替え処理を行う為
に、POLスケジューラへサブルーチンへリターンする
(ステップS18)。POLスケジューラにリターンす
ると、スケジューラはタスクのスイッチ処理(POLモ
ジュールの切換え)を行い、通信S/Wやメンテナンス
用等他のS/Wを起動する。この様な方式をとる事によ
り、割り込みを使用して汎用μP(1−1)にPOLモ
ジュールの実行時間を通知する必要が無くなり、割り込
み処理による汎用μP(1−1)のオーバヘッドをなく
し、しかもPOLモジュールの実行時間の精度を高める
事ができる。
【0076】実施例7.図21は、実施例6のPOLス
ケジューリングカウンタの設定値を汎用μP(1−1)
から自由にリード/ライトできる様にしたものである。
(21−1)は、汎用μP(1−1)からMPIF部
(2−1)を経由してリード/ライトできるカウンタ値
設定レジスタ、(21−2)はカウンタ値設定レジスタ
(21−1)とPOLスケジューリングカウンタ(18
−1)の出力を比較するカウンタコンパレータを示す。
他は実施例6と同じである。
【0077】次に動作について図21を用いて説明す
る。図21において、POLスケジューラはPOL命令
実行の初期化時に汎用μP(1−1)及びPOLG(1
−2)内部のMPIF部(2−1)経由でカウンタ値設
定レジスタ(21−1)にカウントアップ値をセットす
る。
【0078】POLスケジューラは、POLエミュレー
タをサブルーチンCALLし、POL命令の実行を開始
する。POLエミュレータは、POLステータス(18
−2)を読み出す事によって、次々とPOL命令を実行
していくが、POLスケジューリングカウンタ(18−
1)のカウントアップでPOLステータス(18−2)
のスケジューリングタイマ(18−3)がセットされ、
POLエミュレータからPOLスケジューラへサブルー
チンRTN(リターン)される。
【0079】実施例7では、POLスケジューリングカ
ウンタ(18−1)とカウンタ値設定レジスタ(21−
1)との出力をカウンタコンパレータ(21−2)で比
較する事によって、POLスケジューリングカウンタ
(18−1)がカウントアップする時間を自由に変える
事ができる。POLスケジュールカウンタ(18−1)
は特定時間後のカウントアップではしなくてよい。
【0080】このカウンタ値設定レジスタ(21−1)
とカウンタコンパレータ(21−2)を設ける事によ
り、POLスケジューラにおけるPOL命令の実行時間
を自由に変える事ができ、POL命令実行以外の通信処
理やメンテナンス処理との時間配分やチューニングを柔
軟に行う事ができる。
【0081】実施例8.図22は実施例7で、POL命
令実行より優先度の高いS/Wが、POL命令実行を途
中で中断したい時に、POLエミュレータへ通知する為
の手段を示したもので、各S/Wでライトできるスケジ
ューラポート(22−1)を設け、ライトした結果をP
OLステータス(22−2)に反映している。図で(2
2−1)は各S/Wがライトするスケジューラポート、
(22−2)は図23のビットアサインを持ったPOL
ステータス、(22−3)はスケジューラポートをライ
トされた時に有意になるスケジューラリクエスト信号
(Sch_Req)を示す。図24は、スケジューラポ
ート(22−1)をセットする各S/W(例では5ms
ecの割り込み処理タスクを示している)とPOLエミ
ュレータ及びPOLスケジューラの処理フローを示す。
【0082】次に動作について図22〜図24を用いて
説明する。図24で例えば、POL命令実行中(即ちP
OLエミュレータ動作中)にも5msec毎に動作しな
ければならないプログラムが、タイマー割り込みで起動
されるとする。この時、5msec割り込み処理ルーチ
ン(24−1)で、スケジューラポート(22−1)を
ライトする事で、POLステータス(22−2)のSc
h_Req(22−3)がセットされる。POLエミュ
レータは、ステップS20でPOLステータスを読み込
み、ステップS21でチェックする。POLステータス
のSch_Req(22−3)が有意になっている事で
(ステップS22)、POLスケジューラへサブルーチ
ンリターンする(ステップS23)。POLスケジュー
ラでは、POLステータスの内容によって5msecの
割り込み処理ルーチンからの要求があった事を認識し、
自己の処理を中断して割り込みタスクを起動する。
【0083】実施例9.図25に図1のPOLのソース
空間(1−4)を16分割し、POLソースアドレスを
生成する方法を示す。図において、(25−1)は16
個のセグメントレジスタで、各セグメントレジスタには
セグメントのベースポインタが格納される。(25−
2)はセグメントレジスタから特定のセグメントを選択
するセレクタ、(25−3)は生成されたPOLソース
アドレスを示す。(25−4)は、図10で示したPO
Lコード(8−1)のオペランド部のOFFSETを拡
張した新しいOFFSET(25−6)にセグメントの
セレクト情報SASEL(25−5)をPOLコード
(8−1)につけ加えたものである。
【0084】次に動作について図25を用いて説明す
る。汎用μP(1−1)からのPOLステータス(8−
3)のリード動作で、POLコード(25−4)に埋め
込んだSASEL(25−5)によって、16個のセグ
メントレジスタ(25−1)の内容から一つのPOLソ
ースアドレス空間が選択される。選択されたセグメント
レジスタの内容、すなわちセグメントのベースポインタ
と、POLコード(25−4)のOFFSETとからP
OLのソースアドレス(25−3)が生成される。
【0085】セグメントは、POLスケジューラが初期
化時にセットすると、次にリセットされる迄は不変であ
る。16個のセグメントは、例えば”ローカルRAM領
域””コモンRAM領域””ローカルROM領域””コ
モンROM領域””ローカル定数領域””コモン定数領
域”等アプリケーションで使用する各種領域に分割し、
使い分ける事ができる。
【0086】実施例10.図26にPOLの図1のソー
ス空間(1−4)を4個のインデックスレジスタで修飾
する場合を示す。図において、(26−1)は4個のイ
ンデックスレジスタ”X””Y””Z””W”、(26
−2)は直前の実施例9のPOLコード(25−4)に
更に追加したINDEX(26−3)によって、インデ
ックスレジスタ(26−1)から特定のレジスタを選択
するセレクタ、(26−4)はINDEXの追加された
POLコードを示す。(26−5)は、インデックスセ
レクタ(26−2)とPOLコード内のOFFSET
(25−6)から、指定のインデックス修飾する為のア
ドレス加算器である。
【0087】次に動作について図26を用いて説明す
る。汎用μP(1−1)からのPOLステータス(8−
3)のリード動作で、POLコード(26−4)に埋め
込んだINDEX(26−3)によって、4個のインデ
ックスレジスタ(26−1)の内容から一つのインデッ
クスレジスタが選択される。インデックスセレクタ(2
6−2)で選択されたレジスタの内容と、POLコード
(26−4)のOFFSET(25−6)がアドレス加
算器(26−5)で加算され、インデックス修飾された
POLのソースアドレス(25−3)が計算される。
【0088】例えば、OFFSET値が「1000」
で、POLコードで選択されたインデックスレジスタ”
Z”の値が「20」の場合は、計算されたソースアドレ
スは「1020」となる。
【0089】実施例11.直前の実施例10の図26の
拡張機能として、インデックスレジスタ(26−1)の
選択を同時に”Y”と”W”とした時、インデックスセ
レクタ(26−2)では同時に”Y”と”W”が選択さ
れ、アドレス加算器(26−5)では3値の加算、即ち
「OFFSET+Y+W」が計算される。例えば、OF
FSET値(25−6)が「1000」で、POLコー
ドで選択されたインデックスレジスタ”Z”の値が「2
0」、”W”の値が「120」の場合は、計算されたソ
ースアドレスは「1140」となる。このようにすれ
ば、少ないインデックスレジスタによっても多様なイン
デックス修飾が可能となる。
【0090】実施例12.図27で、POL命令実行時
に計算されたソースアドレス(25−3)と、POLス
ケジューラの初期化で設定される上/下限アドレスリミ
ッタ(27−1),(27−2)とを比較するコンパレ
ータ(27−3)でアドレスリミットエラー(27−
4)を検出する。
【0091】図26の実施例11のソースアドレス計算
で、POLのソースアドレスとして計算されたソースア
ドレス(25−3)が、アプリケーションで使用できる
空間を越えてアクセスされようとする時に、POLスケ
ジューラで設定された上限及び下限アドレスリミッタ
(27−1),(27−2)で範囲指定されたアドレス
領域内か否かをコンパレータ(27−3)で比較する事
により、指定されたアドレス範囲外で有ればリミットエ
ラー(27−4)を出力する。
【0092】実施例13.図28は、直前の実施例12
の上/下限アドレスリミッタ(27−1),(27−
2)を細分割してセグメントレジスタ毎に持たせた時の
図である。(28−1)及び(28−2)は、セグメン
ト毎に対応した上/下限アドレスリミッタを16個持た
せたものであり、どのリミッタ設定値を選択するかは、
(28−3)及び(28−4)の上/下限アドレスセレ
クタで、POLコード(26−4)のSASEL(25
−5)によって適宜決めることができる。
【0093】図28で汎用μP(1−1)のPOLスケ
ジューラ初期化処理で、まず各16個の上/下限アドレ
スリミッタ(28−1),(28−2)がセットされ
る。POLエミュレータが起動され、汎用μP(1−
1)からPOLステータス(8−3)のリードアクセス
があると、POLコード(26−4)のSASEL(2
5−5)によって、セグメントレジスタ(25−1)が
選択されると共に、16個の上/下限アドレスリミッタ
(28−1),(28−2)からセグメントレジスタと
同じソース空間のリミッタ値が上/下限サレクタ(28
−3),(28−4)で選択される。選択された上/下
限リミッタ値と、直前の実施例12と同じように生成さ
れたソースアドレス(25−3)が、コンパレータ(2
7−3)に入力され、上/下限チェックを行う事で、リ
ミットエラーを検出する。この様な構成をとる事で、ア
プリケーションのソースアクセスを、使用するセグメン
ト毎にチェックでき、不正(使用不能等)アドレスの検
出(リミットエラー検出)ができる。
【0094】実施例14.図29は、実施例12及び直
前の実施例13のリミットエラー(27−4)が検出さ
れた時に、POLステータス(29−2)に特定ビット
をアサインする事で、POLエミュレータに不正アドレ
スアクセスが有った事を示すものである。
【0095】実施例12及び直前の実施例13で検出さ
れたリミットエラーを、汎用μP(1−1)のPOLエ
ミュレータにオーバヘッドを無くして通知する手段を図
29に示している。図28のソースアドレス計算から出
力されるリミットエラー(27−4)をEXステータス
(29−1)に入力する。このエラー(27−4)を図
31に示すEXステータス(29−1)の、LIMER
(31−1)としてアサインし、エラー発生時にはこの
ビットがセットされる。図31において、EXステータ
ス(29−1)で、LIMER(31−1)がセットさ
れると図30のPOLステータス内のエラー第3EXE
R3がセットされる。このPOLステータス(29−
2)を汎用μP(1−1)のPOLエミュレータが読み
込んだ時のフローを図32に示す。図32で、異常発生
状況をチェックする迄は、実施例5の図17と同じフロ
ーである。異常がある場合に、POLステータス(29
−2)のEXER1,EXER2,EXER3をチェッ
クする(ステップS25)事で、どのエラー要因が発生
したかが認識でき、更にEXステータス(29−1)を
読み込む事によりPOLエミュレータでリミットエラー
である事がわかり、POLエミュレータからリミットエ
ラーの異常処理(ステップS28)が起動される。他の
エラー第1,エラー第2,エラー第3であれば各ステッ
プS26,27で対応の処理を行う。
【0096】実施例15.図33及び図35に実施例1
5と実施例16を示す。図33に、POLスケジューラ
からセットされるソースアドレス一致検出用の設定レジ
スタ(以下SAR(33−1))と、アドレス計算され
たPOLソースアドレスとの比較をアドレスコンパレー
タ(33−2)で行う事により、ソースアドレス一致を
検出する事を示している。
【0097】実施例9〜実施例14で、アドレス計算さ
れたPOLソースアドレスに対して、アドレス一致を検
出する回路を提供する。POLスケジューラがPOLエ
ミュレータをサブルーチンCALLする際に、メンテナ
ンスツールからの要求で、ソースモニタの要求がある
と、メンテナンスツールが指定したソースアドレスを、
SAR(33−1)にセットする。 POLエミュレー
タがPOLG(1−2)に対しPOLステータス(8−
3)をリードアクセスし、POL命令を実行する時計算
されるソースアドレス(25−3)と、上記SAR(3
3−1)の内容がコンパレータ(33−2)で比較さ
れ、アドレス一致を検出する。上記POLスケジューラ
及びPOLエミュレータの処理を図35に示す。
【0098】実施例16.図34は、ソースアドレス一
致した事をPOLエミュレータに知らせるSource
_Address Consistence(33−
3)を実装したPOLステータス(33−4)を示した
ものである。図35は、その時のPOLエミュレータの
処理フローを示したものである。POLエミュレータ
は、POL命令実行時に上記Source_Addre
ssConsistence(33−3)がセットされ
ていると(ステップS30)、POL命令の実行フロー
からPOLスケジューラにサブルーチンRTN(ステッ
プS31)し、POLスケジューラにて、メンテナンス
ツールからの要求に応答する。
【0099】実施例17.図36及び図38に実施例1
7と実施例18を示す。実施例1で、計算されたPOL
のコードアドレス即ちPC(2−3)に対して、PC一
致検出用の設定レジスタ(36−1)とPCコンパレー
タ(36−2)とPC一致信号(36−3)を示すPO
Lステータス(36−4)を用い、PCアドレス一致を
検出する回路を提供する。
【0100】図38で、POLスケジューラがPOLエ
ミュレータをサブルーチンCALLする際に、メンテナ
ンスツールからの要求で、プログラムモニタの要求があ
ると、メンテナンスツールが指定したPC値を、PCR
(36−1)にセットする(ステップS33)。POL
エミュレータがPOLG(4−2)に対しPOLステー
タス(8−3)をリードアクセスし、POL命令を実行
する時計算されたPC(2−3)と、上記PCR(36
−1)の内容がコンパレータ(36−2)で比較され
(ステップS35)、アドレス一致を検出する。上記P
OLスケジューラ及びPOLエミュレータの処理を図3
8に示す。
【0101】実施例18.図37は、PCアドレス一致
した事をPOLエミュレータに知らせるProgram
_Counter Consistence(36−
3)を実装したPOLステータス(36−4)を示した
ものである。図38は、その時のPOLエミュレータの
処理フローを示したものである。POLエミュレータ
は、POL命令実行時に上記Program_Coun
terConsistence(36−3)がセットさ
れていると(ステップS35)、POL命令の実行フロ
ーからPOLスケジューラにサブルーチンリターン(ス
テップS36)し、POLスケジューラにて、メンテナ
ンスツールからの要求に応答する。
【0102】
【発明の効果】この発明に係る演算処理装置はPOLG
を、前記POL命令の実行コードのアドレスを示すPC
と、POL命令実行専用の汎用レジスタであるACCを
含むPOL命令を実行するのに必要な各種データを記憶
するレジスタファイルと、POLのソースアドレスを計
算するSAD部と、前記μPとのI/Fを行うMPIF
部と、ソースアクセスを行うSAIF部と、前記POL
コードをフェッチするCDIF部と、POL命令の演算
を行うALU部と、実行制御を行うEXE部とから構成
し、CPUで、POLGでのPOL命令の実行を、汎用
μPのリードバスアクセスと同期させ、汎用μPへのリ
ードデータ(以下POLステータス)として、POL命
令の実行結果をPOLGから返し、POL命令の実行を
起動し、これらの命令実行状態を監視しているPOLエ
ミュレータと、このPOLエミュレータの動作とPOL
Gの命令実行を完全に同期化し、POLGのH/Wの動
作及びPOLエミュレータ動作のオーバヘッドを無くし
たので、最小命令実行時間200nsecというPOL
命令の実行を、各種メンテナンス処理やスケジューラに
よるオーバーヘッドを最小に抑えることができる。具体
的には、POL命令実行自体の高速化、すなわち a インデックス等ソースアドレス計算の高速化が図れ
る。 b アドレスリミットエラーの高速化が可能となった。 また、汎用μPとPOL命令実行専用コプロセッサ(P
OLG)の同期方法の効率化、すなわち a POLステータスのリードによるμP−POLG間
のハンドシュークの簡単化が図れる。 b POLエミュレータのPOLステータスポーリング
によるPOL命令実行の同期化が可能となった。
【0103】また、CPUに、POLG内部のCDIF
部で上記POL命令のコードを判別し、上記POLGの
上記H/Wで実行可能な実行命令か、上記汎用μPで実
行することが必要なF/W実行命令かを判別するデコー
ド部を設け、その判断結果を上記POLGから上記汎用
μPへ上記POLステータスとして返し、上記POLエ
ミュレータが前記H/W実行命令か前記F/W実行命令
かを即座に認識できる様にしたので、汎用μP実行とP
OLG実行の命令を切り分けて、POLG実行命令とP
OLエミュレータ実行命令の分類ができる。
【0104】又CPUで、上記CDIF部で上記POL
ステータスのフォーマット構成図内にPOL命令のオペ
コードを実装して、上記F/W実行命令の実行時に、上
記汎用μPで前記POLステータスのオペコード部を分
岐判断し、上記POLエミュレータの分岐処理に要する
オーバヘッドを削減するので、POLGで検出した命令
実行中に発生したエラーの、μPへのリアルタイムな通
知ができる。
【0105】又CPUで、POL命令を実行した時に発
生するオーバーフローやメモリパリティエラー等を上記
POLGで検出し、これらエラーを前記POLGからP
OLステータスとして返し、上記POLエミュレータで
POL命令毎のエラー発生を認識し、エラー発生タイミ
ングとエラー発生箇所を認識し、命令毎のエラー処理を
リアルタイムに行うので、POL命令の実行管理F/W
(POLエミュレータ)と各モジュールの起動スケジュ
ールを管理するF/W(POLスケジューラ)の、切り
替え時間の短縮ができる。
【0106】また、POL命令を実行した時に発生する
上記エラーを一箇所にまとめるEXステータスレジスタ
を設け、EXステータスレジスタにエラー要因がセット
された事でPOLステータスの上記フォーマットの特定
ビットがセットされる様にして、POL命令実行中に発
生する多くのエラー要因を一つにまとめ、上記POLエ
ミュレータは前記POLステータスの前記特定のビット
のみをチェックして、エラーの発生の有無を確認し、更
にエラー処理内で前記EXステータスレジスタの内容を
チェックしてどのようなエラーが発生したかを判断する
ので、POLのアプリケーションの不正アクセスをH/
Wで検出し、アプリケーションのデバッグ効率をあげる
ことができる。
【0107】またCPUで、POLG内部にPOL命令
の実行時間を計数するカウンタを設け、一定時間POL
命令の実行が行われると、上記POLステータスのフォ
ーマットの特定ビットをセットして、上記POLエミュ
レータ経由でPOL命令の実行と通信S/Wやメンテナ
ンス用S/W等他のS/Wとの時間割スケジューリング
を管理するPOLスケジューラを設け、前記特定ビット
を検出して前記POLスケジューラがPOL命令の占有
時間超過を判断し、各種POLプログラムの集合である
POLモジュールについて、切り替え時間のオーバヘッ
ドを少なくするので、POL命令実行時間に影響を与え
ずに、プログラムモニタやソースモニタ等のPOLプロ
グラムのデバッグが行える。
【0108】またCPUにおいて、POLG内部に計数
カウンタ値設定用のレジスタを設け、このレジスタの設
定値と上記計数カウンタの出力とを比較するコンパレー
タとを設け、POL命令の実行占有時間を可変にし、上
記POLスケジューラが任意にPOL命令の実行占有時
間を調整するので、スケジューラへの切り替え時間を最
小にすると共に、割り込み処理を使用したスイッチ(切
換)動作に比べ、精度の高いスイッチ動作が可能とな
る。
【0109】また、CPUにおいて、POL命令の実行
より優先順位の高い通信S/Wやメンテナンス用S/W
等からの要求で、POL命令の実行を中断する為の手段
として、POLG内部に他のS/Wからライトできるス
ケジューラポートを設け、上記S/Wがこのスケジュー
ラポートにライトアクセスすることで、POLステータ
スのフォーマットの特定ビットをセットし、上記POL
スケジューラがこの特定ビットを検出して、上記POL
モジュールについて切り替え時間のオーバヘッドを少な
くすることで、各S/WとPOLスケジューラ間のスイ
ッチ時間を最小にすることができる。
【0110】また、CPUにおいて、上記POLソース
空間をアドレス計算の為に、ベースポインタを備えた1
6個のセグメントに分割し、前記ソース空間のアクセス
方式として前記セグメント方式を採用し、POLエミュ
レータがソース空間の管理を行うので、POLのソース
空間をアプリケーションで柔軟に使用できるようにな
る。
【0111】またCPUにおいて、上記POL命令で使
用する4を設け、該インデックスレジスタと前記16個
のセグメントを使用して16種類のインデックス修飾を
上記POLGで行い、POLソースのアドレス計算を行
うので、更にPOL命令の実行時間を更に短縮できる。
【0112】また、CPUにおいて、上記インデックス
レジスタと上記セグメントとでインデックス修飾された
ソースアドレスに対し、これらアドレスの上限値及び下
限値を設定できるソースアドレスリミットレジスタを設
け、POLアプリケーションで誤ったソースアドレス指
定があった場合に上/下限をチェックし、上/下限を越
えるアドレスについてリミットエラーを検出するので、
アプリケーションの不正アドレスを検出することがで
き、より細かい範囲で検出できる。又リミットエラーを
リアルタイムで検出できる。
【0113】またCPUにおいて、上記リミットエラー
を検出する為の上記リミットレジスタを上記セグメント
レジスタに対応すべく、16個の空間に分割し、POL
アプリケーションで誤ったソースアドレス指定があった
場合に上/下限をチェックし、前記リミットエラーを1
6個のソース空間毎に検出するので、アプリケーション
の不正アドレスによるアクセスを柔軟に行える。
【0114】又CPUで、アプリケーションでアクセス
される上記POLソース空間のリミットエラーを、PO
Lステータス及びEXステータスのフォーマット内に実
装し、上記POLGから汎用μPにPOLステータスと
して返すことで、POLエミュレータにリミットエラー
の有ったことをリアルタイムに通知するので、エラー発
生時の命令実行状態等を故障情報として残すことができ
る。
【0115】またCPUにおいて、上記POL命令のソ
ースアドレスを設定するSARレジスタを設け、この設
定値とPOL命令実行時に計算されたソースアドレスと
の比較を行うコンパレータとを設け、これらの値が一致
したことを検出し、この検出結果を上記POLエミュレ
ータに通知して、POL命令の実行を中断し、メンテナ
ンスツールからのソースモニタ機能などを行うので、P
OLスケジューラにアドレスが一致したことを通知する
ことができ、メンテナンスツールへの応答が直接できる
ようになる。
【0116】又CPUにおいて、上記POL命令のソー
スアドレスが一致したことを検出した結果をPOLエミ
ュレータに通知する為、一致結果をPOLステータスフ
ォーマット内の特定ビットに実装してこのフォーマット
を返すことによりPOLスケジューラに通知するので、
ソースモニタ機能等のメンテナンスツールへの応答をP
OL命令の実行に影響を与えること無くなる。
【0117】また、CPUにおいて、上記POL命令の
実行アドレスを設定するPCRレジスタを設け、この設
定値とコードフェッチ時に計算されたプログラムカウン
タPC値とを比較するコンパレータとを設け、プログラ
ムカウンタPC値が一致したことを検出し、この検出結
果をPOLエミュレータに通知するので、POL命令の
実行を中断し、メンテナンスツールからのプログラムモ
ニタ機能などを行うことができる。
【0118】また、CPUにおいて、POL命令の上記
プログラムカウンタPC値の一致を検出し、その結果を
POLエミュレータに通知する為、一致結果をPOLス
テータスフォーマット内の特定ビットに実装して、この
フォーマットを返すことによりPOLスケジューラに通
知するので、プログラムモニタ機能等のメンテナンスツ
ールへの応答をPOL命令の実行に影響を与える事無く
実現できる。
【図面の簡単な説明】
【図1】この発明の実施例1による演算処理装置を示す
ブロック図で、汎用μPとPOLGを用いたマルチプロ
セッサ構成を示す図である。
【図2】図1の演算処理装置POLGの内部構成を示す
ブロック図である。
【図3】図1のμP−POLG間のバスアクセスのタイ
ミングを示す図である。
【図4】この発明の実施例2によるCDIF部を示す図
である。
【図5】図4のPOLステータスのフォーマットを示す
図である。
【図6】図4のPOLコードのフォーマットを示す図で
ある。
【図7】図4のμP−POLG命令起動を示す図であ
る。
【図8】この発明の実施例3によるCDIF部を示す図
である。
【図9】図8のPOLステータスのフォーマットを示す
図である。
【図10】図8のPOLコードのフォーマットを示す図
である。
【図11】この発明の実施例4によるPOL命令実行時
の異常通知を示す図である。
【図12】図11のPOLステータスのフォーマットを
示す図である。
【図13】図11のμP異常処理フローを示す図であ
る。
【図14】この発明の実施例5によるPOL命令実行時
の異常通知と拡張POLステータスを示す図である。
【図15】図14のPOLステータスのフォーマットを
示す図である。
【図16】図14のEXステータスのフォーマットを示
す図である。
【図17】図14のμP異常処理フローを示す図であ
る。
【図18】この発明の実施例6によるPOLスケジュー
リングカウンタの構成を示す図である。
【図19】図18のPOLステータスのフォーマットを
示す図である。
【図20】図18のPOLスケジューリングタイムアッ
プ処理を示す図である。
【図21】この発明の実施例7によるPOLスケジュー
リングカウンタのRD/WTを示す図である。
【図22】この発明の実施例8によるPOLスケジュー
ラポートの構成を示す図である。
【図23】図22のPOLステータスのフォーマットを
示す図である。
【図24】図22のPOLスケジューリング要求フロー
を示す図である。
【図25】この発明の実施例9によるセグメントレジス
タの構成を示す図である。
【図26】この発明の実施例10及び11によるインデ
ックスレジスタの構成を示す図である。
【図27】この発明の実施例12によるアドレスリミッ
トエラー検出を示す図である。
【図28】この発明の実施例13によるアドレスリミッ
トエラー検出を示す図である。
【図29】この発明の実施例14によるPOLステータ
スのリミットエラー構成を示す図である。
【図30】図29のPOLステータスのフォーマットを
示す図である。
【図31】図29のEXステータスのフォーマットを示
す図である。
【図32】図29のリミットエラー処理フローを示す図
である。
【図33】この発明の実施例15によるソースアドレス
一致検出を示す図である。
【図34】図33のPOLステータスのフォーマットを
示す図である。
【図35】図33のソースアドレス一致検出フローを示
す図である。
【図36】この発明の実施例16によるPC一致検出を
示す図である。
【図37】図36のPOLステータスのフォーマットを
示す図である。
【図38】図36のPC一致検出フローを示す図であ
る。
【図39】従来例を示す図である。
【図40】他の従来例を示す図である。
【符号の説明】
1−1 汎用μP 1−2 POLG 1−4 POLソース空間 2−1 MPIF 2−2 CDIF部 2−4 SAD部 2−5 SAIF 2−6 ALU 2−8 EXE 2−17 PC 4−1 POLコード 4−2 H/W命令,F/W命令デコード部 4−5 POLステータス 8−2 POLコード抽出部 14−1 EXステータス 18−1 POLスケジューリングカウンタ 21−1 カウンタ値設定レジスタ 21−2 カウンタコンパレータ 22−1 スケジューラポート 25−1 セグメントレジスタ 25−3 ソースアドレス 25−5 SASEL 26−1 インデックスレジスタ 26−3 INDEX 26−5 アドレス加算器 27−1 上限アドレスリミッタ 27−2 下限アドレスリミッタ 28−3 下限アドレスセレクタ 28−4 上限アドレスセレクタ 33−1 SAR 33−2 アドレスコンパレータ 36−1 PCR 36−2 PCコンパレータ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G05B 19/048 G06F 11/28 340 C 7313−5B 15/16 G05B 19/05 G D

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 産業用プラント等における制御特有のプ
    ログラミング(以下POL)言語の系統の命令を実行す
    る専用のコプロセッサ(以下POLG)と、数値演算処
    理をする汎用マイクロプロセッサ(以下汎用μP)と、
    POL命令のコードが格納されているPOLコードメモ
    リと、前記POLGがPOL命令の実行上使用するPO
    Lソース空間とからなり、マルチプロセッサ構成で実現
    した制御命令演算処理装置(以下CPU)において、前
    記POLGを、前記POL命令の実行コードのアドレス
    を示すプログラムカウンタ(以下PC)と、POL命令
    実行専用の汎用レジスタであるアキュームレータ(以下
    ACC)を含むPOL命令を実行するのに必要な各種デ
    ータを記憶する汎用レジスタ(以下レジスタファイル)
    と、POLのソースアドレスを計算するソースアドレス
    計算部(以下SAD部)と、前記μPとのインタフェー
    ス(以下I/F)を行うバスインタフェース部(以下M
    PIF部)と、ソースアクセスを行うソースアクセスイ
    ンタフェース部(以下SAIF部)と、前記POLコー
    ドをフェッチするインタフェース制御部(以下CDIF
    部)と、POL命令の演算を行う演算部(以下ALU
    部)と、実行制御を行う管理部(以下EXE部)とから
    構成し、上記CPUで、前記POLGでのPOL命令の
    実行を、上記汎用μPのリードバスアクセスと同期さ
    せ、上記汎用μPへのリードデータ(以下POLステー
    タス)として、POL命令の実行結果をPOLGから返
    し、POL命令の実行を起動し、これらの命令実行状態
    を監視しているPOLエミュレータと、このPOLエミ
    ュレータの動作とPOLGの命令実行を同期化し、前記
    POLGのハードウェア(以下H/W)の動作及びPO
    Lエミュレータ動作のオーバヘッドを最小にしたことを
    特徴とする制御命令演算処理装置。
  2. 【請求項2】 上記CPUに、上記POLG内部の上記
    CDIF部で上記POL命令のコードを判別し、上記P
    OLGの上記H/Wで実行可能な実行命令か、上記汎用
    μPで実行することが必要なフアームウェア(以下F/
    W)実行命令かを判別するデコード部を設け、その判断
    結果を上記POLGから上記汎用μPへ上記POLステ
    ータスとして返し、上記POLエミュレータが上記H/
    W実行命令か上記F/W実行命令かを即座に認識できる
    様にしたことを特徴とする特許請求の範囲第1項記載の
    制御命令演算処理装置。
  3. 【請求項3】 上記CPUで、上記CDIF部で上記P
    OLステータスのフォーマット構成図内にPOL命令の
    オペコードを実装して、上記F/W実行命令の実行時
    に、上記汎用μPで上記POLステータスのオペコード
    部を分岐判断し、上記POLエミュレータの分岐処理に
    要するオーバヘッドを削減することを特徴とする特許請
    求の範囲第2項記載の制御命令演算処理装置。
  4. 【請求項4】 上記CPUで、POL命令を実行した時
    に発生するオーバーフローやメモリパリティエラー等を
    上記POLGで検出し、これらエラーを前記POLGか
    らPOLステータスとして返し、上記POLエミュレー
    タでPOL命令毎のエラー発生を認識し、エラー発生タ
    イミングとエラー発生箇所を認識し、命令毎のエラー処
    理をリアルタイムに行うようにしたことを特徴とする特
    許請求の範囲第1項記載の制御命令演算処理装置。
  5. 【請求項5】 POL命令を実行した時に発生する上記
    エラーを一箇所にまとめるEXステータスレジスタを設
    け、このEXステータスレジスタにエラー要因がセット
    された事でPOLステータスの上記フォーマットの特定
    ビットがセットされる様にして、POL命令実行中に発
    生する多くのエラー要因を一つにまとめ、上記POLエ
    ミュレータは前記POLステータスの前記特定のビット
    のみをチェックして、エラーの発生の有無を確認する様
    にし、更にエラー処理内で前記EXステータスレジスタ
    の内容をチェックしてどのようなエラーが発生したかを
    判断することを特徴とする特許請求の範囲第4項記載の
    制御命令演算処理装置。
  6. 【請求項6】 上記CPUで、上記POLG内部にPO
    L命令の実行時間を計数するカウンタを設け、一定時間
    POL命令の実行が行われると、上記POLステータス
    のフォーマットの特定ビットをセットして、上記POL
    エミュレータ経由でPOL命令の実行と通信ソフトウェ
    アやメンテナンス用ソフトウェア等他のソフトウェアと
    の時間割スケジューリングを管理するPOLスケジュー
    ラを設け、前記特定ビットを検出して前記POLスケジ
    ューラがPOL命令の占有時間超過を判断し、各種PO
    Lプログラムの集合であるPOLモジュールについて切
    り替え時間のオーバヘッドを少なくすることを特徴とす
    る特許請求の範囲第1項記載の制御命令演算処理装置。
  7. 【請求項7】 上記POLG内部に計数カウンタ値設定
    用のレジスタを設け、このレジスタの設定値と上記計数
    カウンタの出力とを比較するコンパレータとを設け、P
    OL命令の実行占有時間を可変にし、上記POLスケジ
    ューラが任意にPOL命令の実行占有時間を調整するこ
    とを特徴とする特許請求の範囲第6項記載の制御命令演
    算処理装置。
  8. 【請求項8】 上記POL命令の実行より優先順位の高
    い通信ソフトウェアやメンテナンス用ソフトウェア等か
    らの要求で、POL命令の実行を中断する為の手段とし
    て、POLG内部に他のソフトウェアからライトできる
    スケジューラポートを設け、上記ソフトウェアがこのス
    ケジューラポートにライトアクセスすることで、POL
    ステータスのフォーマットの特定ビットをセットし、上
    記POLスケジューラがこの特定ビットを検出して、上
    記POLモジュールについて切り替え時間のオーバヘッ
    ドを少なくすることを特徴とする特許請求の範囲第6項
    記載の制御命令演算処理装置。
  9. 【請求項9】 上記CPUにおいて、上記POLソース
    空間をアドレス計算の為に、ベースポインタを備えた1
    6個のセグメントに分割し、前記ソース空間のアクセス
    方式として前記セグメント方式を採用し、POLエミュ
    レータがソース空間の管理を行うことを特徴とする特許
    請求の範囲第1項記載の制御命令演算処理装置。
  10. 【請求項10】 上記CPUにおいて、上記POL命令
    で使用する4個のインデックスレジスタを設け、該イン
    デックスレジスタと前記16個のセグメントとを使用し
    て16種類のインデックス修飾を上記POLGで行い、
    POLソースのアドレス計算を行うことを特徴とする特
    許請求の範囲第9項記載の制御命令演算処理装置。
  11. 【請求項11】 上記CPUにおいて、上記インデック
    スレジスタと上記セグメントとでインデックス修飾され
    たソースアドレスに対し、これらアドレスの上限値及び
    下限値を設定できるソースアドレスリミットレジスタを
    設け、POLアプリケーションで誤ったソースアドレス
    指定があった場合に上/下限をチェックし、上/下限を
    越えるアドレスについてリミットエラーを検出すること
    を可能とする特許請求の範囲第9項または10項記載の
    制御命令演算処理装置。
  12. 【請求項12】 上記CPUにおいて、上記リミットエ
    ラーを検出する為の上記リミットレジスタを上記セグメ
    ントレジスタに対応すべく、16個の空間に分割し、P
    OLアプリケーションで誤ったソースアドレス指定があ
    った場合に上/下限をチェックし、前記リミットエラー
    を16個のソース空間毎に検出することを特徴とする特
    許請求の範囲第11項記載の制御命令演算処理装置。
  13. 【請求項13】 上記CPUにおいて、アプリケーショ
    ンでアクセスされる上記POLソース空間のリミットエ
    ラーを、POLステータス及びEXステータスのフォー
    マット内に実装し、上記POLGから汎用μPにPOL
    ステータスとして返すことで、POLエミュレータにリ
    ミットエラーの有ったことをリアルタイムに通知し、エ
    ラー発生時の命令実行状態等を故障情報として残すこと
    を特徴とする特許請求の範囲第11項又は第12項記載
    の制御命令演算処理装置。
  14. 【請求項14】 上記CPUにおいて、上記POL命令
    のソースアドレスを設定するSARレジスタを設け、さ
    らにこのSARレジスタの設定値とPOL命令実行時に
    計算されたソースアドレスとの比較を行うコンパレータ
    とを設け、これらの値が一致したことを検出し、この検
    出結果を上記POLエミュレータに通知して、POL命
    令の実行を中断し、メンテナンスツールからのソースモ
    ニタ機能などを行うことを特徴とする特許請求の範囲第
    1項記載の制御命令演算処理装置。
  15. 【請求項15】 上記POL命令のソースアドレスが一
    致したことを検出した結果をPOLエミュレータに通知
    する為、一致結果をPOLステータスフォーマット内の
    特定ビットに実装して、このフォーマットを返すことに
    より上記POLスケジューラに通知し、ソースモニタ機
    能等のメンテナンスツールへの応答をPOL命令の実行
    に影響を与えること無く実現することを特徴とする特許
    請求の範囲第14項記載の制御命令演算処理装置。
  16. 【請求項16】 上記CPUにおいて、上記POL命令
    の実行アドレスを設定するPCRレジスタを設け、この
    PCRレジスタの設定値とコードフェッチ時に計算され
    たプログラムカウンタPC値とを比較するコンパレータ
    とを設け、プログラムカウンタ値が一致したことを検出
    し、この検出結果をPOLエミュレータに通知すること
    で、POL命令の実行を中断し、メンテナンスツールか
    らのプログラムモニタ機能などを行うことを特徴とする
    特許請求の範囲第1項記載の制御命令演算処理装置。
  17. 【請求項17】 上記POL命令のPC値の一致を検出
    し、その結果をPOLエミュレータに通知する為、一致
    結果をPOLステータスフォーマット内の特定ビットに
    実装して、このフォーマットを返すことによりPOLス
    ケジューラに通知し、プログラムモニタ機能等のメンテ
    ナンスツールへの応答をPOL命令の実行に影響を与え
    ることなく実現する事を特徴とする特許請求の範囲第1
    6項記載の制御命令演算処理装置。
JP6343694A 1994-03-31 1994-03-31 制御命令演算処理装置 Expired - Lifetime JP2810317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6343694A JP2810317B2 (ja) 1994-03-31 1994-03-31 制御命令演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6343694A JP2810317B2 (ja) 1994-03-31 1994-03-31 制御命令演算処理装置

Publications (2)

Publication Number Publication Date
JPH07271413A true JPH07271413A (ja) 1995-10-20
JP2810317B2 JP2810317B2 (ja) 1998-10-15

Family

ID=13229228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6343694A Expired - Lifetime JP2810317B2 (ja) 1994-03-31 1994-03-31 制御命令演算処理装置

Country Status (1)

Country Link
JP (1) JP2810317B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280376A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ
US9632794B2 (en) 2009-06-23 2017-04-25 Seiko Epson Corporation Subprocessor, integrated circuit device, and electronic apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280376A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ
US9632794B2 (en) 2009-06-23 2017-04-25 Seiko Epson Corporation Subprocessor, integrated circuit device, and electronic apparatus

Also Published As

Publication number Publication date
JP2810317B2 (ja) 1998-10-15

Similar Documents

Publication Publication Date Title
US4975836A (en) Virtual computer system
US7334161B2 (en) Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus
KR100588790B1 (ko) 데이터처리기에서의후속명령처리에작용하는방법및장치
US7752494B2 (en) Method and system of aligning execution point of duplicate copies of a user program by exchanging information about instructions executed
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US5862148A (en) Microcontroller with improved debug capability for internal memory
JP2013542499A (ja) データ処理装置のデバッグ処理
WO1995010806A1 (fr) Dispositif et procede pour le controle d'interruptions
JP4893427B2 (ja) マイクロコンピュータシステム
JP2002342114A (ja) トレースデータ採取可能なプロセッサ
WO2008156944A1 (en) Exception-based timer control
US7516311B2 (en) Deterministic microcontroller context arrangement
JP2810317B2 (ja) 制御命令演算処理装置
CN112834819A (zh) 一种用于电能计量芯片的数字信号处理装置及方法
US20080010426A1 (en) Processor system and processing method for operating system program in processor system
US7584464B2 (en) Software processing method and software processing system
US7562207B2 (en) Deterministic microcontroller with context manager
AU626067B2 (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JPH08255476A (ja) データ処理システムにおけるメモリ拡張スタック装置および方法
US6829735B1 (en) Computer system having a ROM correction unit
WO2006081094A2 (en) Deterministic microcontroller
JPH08249018A (ja) マルチプロセッサ演算装置、および該装置を有するプログラマブルコントローラ
JP2001022413A (ja) プログラマブルコントローラ
EP0938047A1 (en) Memory protection method and device therefor

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070731

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20090731

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20100731

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

Free format text: PAYMENT UNTIL: 20100731

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110731

Year of fee payment: 13

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

Year of fee payment: 13

Free format text: PAYMENT UNTIL: 20110731

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

Year of fee payment: 14

Free format text: PAYMENT UNTIL: 20120731

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 14

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

Year of fee payment: 15

Free format text: PAYMENT UNTIL: 20130731

EXPY Cancellation because of completion of term