JPH02311948A - コプロセッサの誤り修正方式 - Google Patents

コプロセッサの誤り修正方式

Info

Publication number
JPH02311948A
JPH02311948A JP1134301A JP13430189A JPH02311948A JP H02311948 A JPH02311948 A JP H02311948A JP 1134301 A JP1134301 A JP 1134301A JP 13430189 A JP13430189 A JP 13430189A JP H02311948 A JPH02311948 A JP H02311948A
Authority
JP
Japan
Prior art keywords
coprocessor
firmware
instruction
processor
error
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
JP1134301A
Other languages
English (en)
Inventor
Satoshi Ishii
智 石井
Takashi Nakagawa
中川 敬司
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.)
NEC Corp
NEC Engineering Ltd
Original Assignee
NEC Corp
NEC Engineering Ltd
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 NEC Corp, NEC Engineering Ltd filed Critical NEC Corp
Priority to JP1134301A priority Critical patent/JPH02311948A/ja
Publication of JPH02311948A publication Critical patent/JPH02311948A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、各々ファームウェアで制御されるメインプロ
セッサとそのコプロセッサとを有する情報処理装置にお
いてコプロセッサのファームウェアの機能の一部に存在
する誤りを修正する方式に関するものである。
〔従来の技術〕
プロセッサのファームウェアがLSIで構成された実行
ユニット内部に格納されている如くファームウェア自体
の変更が容易でない状況において、そのファームウェア
の機能の一部に存在する誤りを修正する方式としては、
例えば特開昭63−98034号公報に見られるような
シャドウメモリ方式を採用した情報処理装置が知られて
いる。
第3図はそのような従来の情報処理装置の要部ブロック
図であり、ファームウェア制御によるメインプロセッサ
11とそのバス(内部バス)15に接続されたシャドウ
メモリ13及びシャドウモードフラグ14とを含んでい
る。なお、シャドウメモリ13はソフトフラグ12を有
するRAMl3aとROM13bとを含み、メインプロ
セッサ11にはそのファームウェア制御にかかるファー
ムウェア(CPUFW)11 aが設けられている。
一般にシャドウメモリ方式とは、メモリの成る部分をフ
ラグによりメモリ空間とシャドウメモリ空間に分け、シ
ステム立ち上げやシステム固有のコントロール時に、シ
ャドウモードに切り替えてシャドウメモリに格納されて
いるプログラム(シ十ドウプログラム)を実行し、その
終了時、シャドウモードからノーマルモードに切り替え
、通常はシャドウメモリがアクセスできないようになっ
ているものである。第3図では、そのような既存のシャ
ドウメモリ方式を改良し、メインプロセッサll中のフ
ァームウェアllaの誤りを修正する機能を既存のシャ
ドウメモリ方式中に導入したものである。即ち、メイン
プロセッサ11におけるファームウェアlla中の誤り
の存在する部分によって処理される命令や処理ルーチン
をシミュレートするプログラムをシャドウメモリ13に
記憶させると共に、メインプロセッサ11の各命令に対
応し且つ誤りの存在する換言すればシミュレートしたい
命令に対応するフラグは事前にONにしたソフトフラグ
12を設け、メインプロセッサ11は、命令をフェッチ
する毎にその命令に対応するソフトフラグ12のフラグ
(直をファームウェアllaにて判定し、シミュレート
すべきことを示すONである場合にはファームウェアl
laによってその命令を処理することなくシャドウモー
ドに変更し、内部レジスタ類の退避を行った後、シャド
ウメモリ13の該当するプログラムを実行して前記命令
をシミュレートし、その後前記退避した内部レジスタ類
の復元を行うと共にノーマルモードに変更して次の命令
をフェッチする処理に戻るように構成されているもので
ある。前記シミュレート用のプログラムは通常のソフト
ウェア命令以外にプロセッサの内部資源を制御できる特
別命令をも使用して作成されており、通常のソフトウェ
ア命令のみで構成されたシミュレート用のプログラムに
比べて、そのシミュレートを容易にし且つ実行速度を上
げている。
〔発明が解決しようとする課題〕
第3図に示した従来の方式によって、メインプロセッサ
11のファームウェアllaに存在する誤りを実質的に
修正することが可能である。
ところで、情報処理装置の中にはメインプロセッサ以外
にそのコプロセッサを有し、高度な演算等を高速に実行
し得るようにしたものがある。このようなコプロセッサ
を有する情報処理装置において、若しコプロセッサのフ
ァームウェアの一部に誤りがあると、それによって処理
されるコプロセッサ用命令や各種処理ルーチンの実行が
不可能となる。従って、その誤りを修正する必要がある
が、コプロセッサのファームウェアがLSI内部に格納
されている場合には、やはりその変更は容易ではない、
また、コプロセッサはメインプロセッサと異なり特殊な
プロセッサなので、第3図の従来の方式をそのままコプ
ロセッサに適用するqとは困難である。
本発明はこのような事情に窓みて為されたものであり、
各々ファームウェアで制御されるメインプロセッサとそ
のコプロセッサとを有し且つシャドウメモリ方式を採用
した情報処理装置において、コプロセッサのファームウ
ェアの誤りをそのファームウェア自体を変更することな
く修正することのできるコプロセッサの誤り修正方式を
提供することにある。
(課題を解決するための手段) 本発明は上記の目的を達成するために、各々フアームウ
ェアで制御されるメインプロセッサとそのコプロセッサ
とを有し且つシャドウメモリ方式を採用した情報処理装
置において、前記コプロセッサのファームウェアにおけ
る誤りの存在する部分によって処理されるコプロセッサ
用命令の機能をシミュレートするプログラムを記憶させ
たシャドウメモリと、前記コプロセッサのファームウェ
アの誤りの有無を示す外付スイッチと、各コプロセッサ
用命令に対応したソフトフラグとを設け、前記コプロセ
ッサは、前記メインプロセッサでフェッチされた命令が
自己用の命令のとき先ず前記外付スイッチの状態をファ
ームウェアにて判定し、前記外付スイッチがファームウ
ェアに誤りが有ることを示す場合に限り、前記命令に対
応するソフトフラグをファームウェアにてチェックし、
所定の値であれば前記自己用の命令を処理することなく
前記メインプロセッサに通知し、前記メインプロセッサ
は前記通知を受けることによりシャドウモードに変更す
ると共に内部レジスタ類の退避を行った後、前記シャド
ウメモリの該当するプログラムを実行することにより前
記コプロセッサの命令をシミュレートし、その後前記退
避した内部レジスタ類の復元を行うと共にノーマルモー
ドに変更して処理を続行するように構成されている。
〔作用] 本発明のコプロセッサの誤り修正方式においては、シャ
ドウメモリが、前記コプロセッサのファームウェアにお
ける誤りの存在する部分によって処理されるコプロセッ
サ用命令の機能をシミュレートするプログラムを保持し
、且つ、外付スイッチが前記コプロセッサのファームウ
ェアの誤りの有無を示すと共に、各コプロセッサ用命令
に対応したソフトフラグがその対応するコプロセッサ用
命令がシミュレートの対象になっているか否かを示し、
メインプロセッサでフェッチされた命令がコプロセッサ
用命令のとき、コプロセッサが、先ず前記外付スイッチ
の状態をファームウェアにて判定し、そのスイッチがフ
ァームウェアに誤りが有ることを示す場合に限り、その
命令に対応するソフトフラグをファームウェアにてチェ
ックし、所定の値であればその命令を処理することなく
前記メインプロセッサに通知し、この通知を受けたメイ
ンプロセッサが、シャドウモードに変更すると共に内部
レジスタ類の退避を行った後、前記シャドウメモリの該
当するプログラムを実行することにより前記コプロセッ
サの命令をシミュレートし、その後前記退避した内部レ
ジスタ類の復元を行うと共にノーマルモードに変更して
処理を続行する。
〔実施例〕
次に、本発明の実施例について図面を参照して詳細に説
明する。
第1図は本発明のコプロセッサの誤り修正方式の一実施
例の処理の流れ図、第2図は本発明を適用した情報処理
装置の一例を示す要部ブロック図である0本発明を適用
した情報処理装置の一例は第2図に示すように、内部の
ファームウェア(CPUFW)laで制御されるメイン
プロセッサlと、同じく内部のファームウェア(コプロ
セッサFW)2aで制j11されるコプロセッサ2と、
RAM3aおよびROM3 bを有するシャドウメモリ
3と、シャドウモードフラグ4と、これらを接続するバ
ス(内部バス)5とを含んでいる。
:I7’O−&フサ2には、信号線8を介してスイッチ
(外付スイッチ)7が接続されている。このスイッチ7
はコプロセッサ2のファームウェア(コプロセッサFW
)2aに誤りが全くない場合はOFFにされ、1箇所で
も誤りが存在する場合にはONにされるスイッチであり
、コプロセッサ2のファームウェア2aはファームウェ
アの1ステツプでスイッチ7の状態を判定できるように
なっている。
シャドウメモリ3のRAMaa内には、各コプロセッサ
用命令に1対17対応する複数のフラグから成るソフト
フラグ(コプロセッサ用命令対応ソフトフラグ)9が設
けられており、コプロセッサ2のファームウェア2aに
1つも誤りが存在しない場合にはソフトフラグ9の全て
のフラグはOFFにされている。しかし、成るファーム
ウェア部分に誤りがあって、それが原因で成るコブロセ
ッサ用命令やコプロセッサのファームウェアの成る処理
ルーチンが正しく実行されない場合には、そのコプロセ
ッサ用命令に対応するフラグがONにされる。そして、
その正しく実行されないコプロセッサ用命令をメインプ
ロセッサlがシミュレートするために必要となるシミュ
レート用のプログラムが、シャドウメモリ3に事前に登
録されている。
次に、第1図および第2図を参照して、本実施例の動作
を説明する。なお、第1図において破線で囲んだ処理は
コプロセッサ2内の処理を示し、他の処理はメインプロ
セッサ1の処理を示す。
ノーマルモードにおいて、メインプロセッサ1は1つの
命令をフェッチする毎に(S 1 ) 、その命令がコ
プロセッサ用命令であるか否かを判定する(S2)、コ
プロセッサ用命令でなければ、メインプロセッサ1自身
がその命令を実行しくS3)、命令フェッチ処理S1に
戻って次の命令を処理する。
処理S2でコプロセッサ用命令と判定された場合、その
コプロセッサ用命令はコプロセッサ2に伝達される。コ
プロセッサ2では、先ずスイッチ7の状態がONかOF
Fかをそのファームウェア2aにて判定しく512)、
OFFであれば処理S14へ、ONであれば処理S13
へ進む。
処理S14へ進んだ場合すなわちコプロセッサ2のファ
ームウェア2aに1箇所も誤りが存在しない場合、コプ
ロセッサ2のファームウェア2aの処理によってその命
令を実行し、次に通常終了コマンドをセントしく515
)、これをメインプロセッサlに伝達する。
他方、処理S13に進んだ場合すなわちコプロセッサ2
のファームウェア2aに少なくとも1箇所誤りがある場
合、コプロセッサ2は、コプロセッサ用命令に対応する
ソフトフラグ9のフラグ値がONかOFFかをチェンジ
する(313)。OFFの場合、そのコプロセッサ用命
令についてはシミュレートの対象になっていないので、
コプロセッサ2のファームウェア2aの処理によってそ
の命令を実行しく514)、通常終了コマンドをセント
しく315)、これをメインプロセッサlに伝達する。
しかし、OFFの場合には、そのコプロセッサ用命令は
シミュレートの対象になっているので、ファームウェア
2aによってその命令を実行せず、シャドウモード要求
コマンドをセラ)L(S16)、これをメインプロセッ
サlに伝達する。即ち、第2図に示すようにシャドウ移
行要求6をメインプロセッサ1に出す。
メインプロセッサ1は、コプロセッサ2からのコマンド
を解析してシャドウモード要求コマンドか否かを判定し
くS 4 ) 、シャドウモード要求コマンドでなけれ
ば制御を処理S1に戻し、次の命令をフェッチする。し
かし、シャドウモード要求コマンドの場合には、現在の
モードをシャドウモードに変更する為の処理を行い(S
5)、自メインプロセッサ1内のレジスタ類をシャドウ
メモリ3のRAM3aにセーブする(36)、そして、
以下のようにしてコプロセッサ用命令にかかるシミュレ
ートを実行する(37〜S9)。
先ず、必要に応じてコプロセッサ2からメインプロセッ
サ3ヘデータを転送する(S7)。ここで、データとは
シミュレートしようとする命令が使用するデータのうち
コプロセッサ2のレジスタ等に保持されているデータを
いう0次にメインプロセッサlはシャドウメモリ3に記
憶された該当するシャドウプログラムを実行する(S8
)。次に、このシャドウプログラムの実行により得られ
たデータ即ち本来コプロセッサ2がその命令を実行する
ことにより得るデータを、メインプロセッサ1からコプ
ロセッサ2へ転送する(S9)。これで、コプロセッサ
2の状態はそのコプロセッサ用命令を恰も自らのファー
ムウェア2aが実行したと同じ状態になる。
メインプロセッサ1は上記のシミュレートを終えると、
シャドウメモリ3に退避していた自己のレジスタ類をリ
ストアしく5IO)、シャドウモードをリセットしてノ
ーマルモードに変更しく511)、次の命令のフェッチ
に移行する(Sl)。
〔発明の効果〕
・以上説明したように、本発明のコプロセッサの誤り修
正方式においては、コプロセッサのファームウェアの誤
りの有無を示す外付スイッチと、各コプロセッサ用命令
に対応したソフトフラグを設け、コプロセッサのファー
ムウェアに誤りが存在する場合には外付スイッチをそれ
を措示する状態に設定しておくと共に、ソフトフラグ中
の該当するフラグをONにしておくことにより、そのフ
ラグに対応するコプロセッサ用命令をコプロセッサ中の
ファームウェアで処理せずにシャドウメモリに予め記憶
させたプログラムを使用してメインプロセッサでシミュ
レートすることができ、コプロセッサにおけるファーム
ウェアのバグ修正や機能変更をそのファームウェア自体
を変更することなく容易に行うことができる効果がある
また、外付スイッチを設けず、常にソフトフラグをチェ
ックする構成にすれば、コプロセッサのファームウェア
の誤りが後に修正されて誤りが全く無くなった場合にお
けるオーバーヘッドが大きくなるが、本発明のように外
付スイッチを設ければ、誤りが全て無くなったときソフ
トフラグを一切チェックする必要がなくなり、性能低下
を極僅かにすることができる。よって、コプロセッサの
ファームウェアのバグ等の修正後、第1図の処理512
、S13等のチェックルーチンを削除する必要がなくコ
プロセッサのファームウェアの評価期間を短縮すること
ができる効果もある。
【図面の簡単な説明】
第1図は本発明の一実施例の処理の流れ図、第2図は本
発明を適用した情報処理装置の一例を示す要部ブロック
図および、 第3図は従来方式のブロック図である。 図において、 l・・・メインプロセッサ 1a・・・メインプロセッサのファームウェア2・・・
コプロセッサ 2a・・・コプロセッサのファームウェア3・・・シャ
ドウメモリ 3a・・・RAM 3b・・・ROM 4・・・シャドウモードフラグ 5・・・バス(内部バス) 6・・・シャドウ移行要求 7・・・スイッチ(外付スイッチ) 8・・・信号線 9・・・ソフトフラグ

Claims (1)

  1. 【特許請求の範囲】 各々ファームウェアで制御されるメインプロセッサとそ
    のコプロセッサとを有し且つシャドウメモリ方式を採用
    した情報処理装置において、前記コプロセッサのファー
    ムウェアにおける誤りの存在する部分によって処理され
    るコプロセッサ用命令の機能をシミュレートするプログ
    ラムを記憶させたシャドウメモリと、 前記コプロセッサのファームウェアの誤りの有無を示す
    外付スイッチと、 各コプロセッサ用命令に対応したソフトフラグとを設け
    、 前記コプロセッサは、前記メインプロセッサでフェッチ
    された命令が自己用の命令のとき先ず前記外付スイッチ
    の状態をファームウェアにて判定し、前記外付スイッチ
    がファームウェアに誤りが有ることを示す場合に限り、
    前記命令に対応するソフトフラグをファームウェアにて
    チェックし、所定の値であれば前記自己用の命令を処理
    することなく前記メインプロセッサに通知し、 前記メインプロセッサは前記通知を受けることによりシ
    ャドウモードに変更すると共に内部レジスタ類の退避を
    行った後、前記シャドウメモリの該当するプログラムを
    実行することにより前記コプロセッサの命令をシミュレ
    ートし、その後前記退避した内部レジスタ類の復元を行
    うと共にノーマルモードに変更して処理を続行すること
    を特徴とするコプロセッサの誤り修正方式。
JP1134301A 1989-05-26 1989-05-26 コプロセッサの誤り修正方式 Pending JPH02311948A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1134301A JPH02311948A (ja) 1989-05-26 1989-05-26 コプロセッサの誤り修正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1134301A JPH02311948A (ja) 1989-05-26 1989-05-26 コプロセッサの誤り修正方式

Publications (1)

Publication Number Publication Date
JPH02311948A true JPH02311948A (ja) 1990-12-27

Family

ID=15125086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1134301A Pending JPH02311948A (ja) 1989-05-26 1989-05-26 コプロセッサの誤り修正方式

Country Status (1)

Country Link
JP (1) JPH02311948A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200741B1 (en) 1999-11-22 2007-04-03 Nec Electronics Corporation Microprocessor having main processor and co-processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200741B1 (en) 1999-11-22 2007-04-03 Nec Electronics Corporation Microprocessor having main processor and co-processor

Similar Documents

Publication Publication Date Title
US4635193A (en) Data processor having selective breakpoint capability with minimal overhead
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
US4819234A (en) Operating system debugger
US7600155B1 (en) Apparatus and method for monitoring and debugging a graphics processing unit
EP0461792B1 (en) Master/slave checking system
US20010013118A1 (en) Method and apparatus for handling asyncronous exceptions in a dynamic translation system
WO1984002410A1 (en) Virtual machine data processor
US20100153786A1 (en) Processor, multiprocessor, and debugging method
EP0290942B1 (en) Guest machine execution control system for virtual machine system
EP0638864B1 (en) Development support system for microcomputer with internal cache
US8701089B2 (en) Program execution device and method for controlling the same
JPH02311948A (ja) コプロセッサの誤り修正方式
JPH0654476B2 (ja) 制御メモリ誤り訂正制御方式
JPH02311947A (ja) コプロセッサの誤り修正方式
JPH0588933A (ja) デバツグ機能を有する並列処理システム
JPS6143347A (ja) ベクトル命令シミユレ−シヨン方法
CA1223079A (en) Data processor having selective breakpoint capability with minimal overhead
JP3449812B2 (ja) 制御用電子装置
JP3171615B2 (ja) データ転送のリトライ制御方式
JPH0772874B2 (ja) 割込み受取り装置
JPS58166454A (ja) デ−タ処理装置
JPH01140239A (ja) 命令実行アドレス保存処理方式
JPS62107354A (ja) マイクロプログラム制御装置
JPS60221829A (ja) デ−タ処理装置
JPS6326732A (ja) 割込み処理方式