JPS598068A - マルチプロセツサデバツグ装置 - Google Patents
マルチプロセツサデバツグ装置Info
- Publication number
- JPS598068A JPS598068A JP57115732A JP11573282A JPS598068A JP S598068 A JPS598068 A JP S598068A JP 57115732 A JP57115732 A JP 57115732A JP 11573282 A JP11573282 A JP 11573282A JP S598068 A JPS598068 A JP S598068A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- debugged
- register
- debugging
- output
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明はマイクロプロセッサを複数個用いた時に並列動
作をしているプロセッサのデノクノグを効果的に実行す
るマルチプロセッサデバッグ装置に関するものである。
作をしているプロセッサのデノクノグを効果的に実行す
るマルチプロセッサデバッグ装置に関するものである。
近年マイクロプロセッサの応用分野拡大には、めざまし
いものがあり、特に比較的コストの安価なプロセッサを
複数個用いて高性能の装置を構成することが行なわれる
ようになって来た。周知のようにマイクロプロセッサを
利用した装置の開発コストの多くの部分がプログラム開
発にかかわるものであると言われており、プログラム設
計・プログラムコーディング・プログラム開発(ラグに
要するコストを低減させることが重要である。
いものがあり、特に比較的コストの安価なプロセッサを
複数個用いて高性能の装置を構成することが行なわれる
ようになって来た。周知のようにマイクロプロセッサを
利用した装置の開発コストの多くの部分がプログラム開
発にかかわるものであると言われており、プログラム設
計・プログラムコーディング・プログラム開発(ラグに
要するコストを低減させることが重要である。
特にプログラムのデバッグには時間がかかり、プログラ
ムデバングの効率を上げることが最重要課題となってい
る。
ムデバングの効率を上げることが最重要課題となってい
る。
以下、従来のデバッグ装置について説明する。
第1図は従来のデバッグ装置のブロック図である。
同図において、1はマイクロプロセッサ(以下CPUと
記す)、2は主記憶装置、3は入出力装置で、いずれも
デバッグされる対象である。4はデバッグ装置で、以下
の6〜11により構成されている。すなわち5はcPU
lの各種動作状態を記憶するトレースメモリ、6はトレ
ース開始条件を格納するレジスタ、7はCPU1がレジ
スタ6で指定された条件に合致したことを検出する比較
器、8は比較器7の出力を一定時間遅延する遅延素子で
ある。9はアンド素子で、遅遅延素子8の出力が偽値の
時、CPUバス1Qから供給されるデータ転送信号aを
ゲートし、トレースメモリ5にクロオフ信号すを出力す
る。11idこれら5〜1oを制御する制御部で、キー
ボード又はパネル等が備えられており、各種デバッグ用
人力を受けつける。
記す)、2は主記憶装置、3は入出力装置で、いずれも
デバッグされる対象である。4はデバッグ装置で、以下
の6〜11により構成されている。すなわち5はcPU
lの各種動作状態を記憶するトレースメモリ、6はトレ
ース開始条件を格納するレジスタ、7はCPU1がレジ
スタ6で指定された条件に合致したことを検出する比較
器、8は比較器7の出力を一定時間遅延する遅延素子で
ある。9はアンド素子で、遅遅延素子8の出力が偽値の
時、CPUバス1Qから供給されるデータ転送信号aを
ゲートし、トレースメモリ5にクロオフ信号すを出力す
る。11idこれら5〜1oを制御する制御部で、キー
ボード又はパネル等が備えられており、各種デバッグ用
人力を受けつける。
以下に、たとえば主記憶装置2の特定のアドレスに置か
れた命令を実行する時の前後のバスの状態をデバッグの
ために必要とすると仮定した場合上記したデバッグ装置
の動作を説明する。1ず主記憶装置2の特定アドレスの
値がレジスタ6に格納される。すると比較器7によって
バス10の各サイクル毎にレジスタ6の値とバス10の
値が比較され、一致していない時は、遅延素子8からは
偽値が出力され、無条件にバス10の状態をトレースメ
モリ6に取り込まれる。もし一致が発生し比較器7より
真値が出力された時、遅延素子8により一定時間遅れて
偽値が出力され、トレースメモリ5の取り込みは中断さ
れる。上記遅延時間が全トレースメモリ取り込み時間の
局であった場合にはトレースメモリ5の内容は条件一致
時点を中心に前後のバスの状態が格納されることとなる
。
れた命令を実行する時の前後のバスの状態をデバッグの
ために必要とすると仮定した場合上記したデバッグ装置
の動作を説明する。1ず主記憶装置2の特定アドレスの
値がレジスタ6に格納される。すると比較器7によって
バス10の各サイクル毎にレジスタ6の値とバス10の
値が比較され、一致していない時は、遅延素子8からは
偽値が出力され、無条件にバス10の状態をトレースメ
モリ6に取り込まれる。もし一致が発生し比較器7より
真値が出力された時、遅延素子8により一定時間遅れて
偽値が出力され、トレースメモリ5の取り込みは中断さ
れる。上記遅延時間が全トレースメモリ取り込み時間の
局であった場合にはトレースメモリ5の内容は条件一致
時点を中心に前後のバスの状態が格納されることとなる
。
この様Vこある時点を中心にその前後のバスの状態を調
べることによりプログラムが実行されている環境を知り
プログラムの異常動作を解明してデバッグを進めている
。
べることによりプログラムが実行されている環境を知り
プログラムの異常動作を解明してデバッグを進めている
。
以上説明した従来のデバッグ装置でマルチプロセッサの
デバッグを行なおうとすると、マルチプロセッサに特有
な非同期処理の問題のために効率的なデバッグを行なう
ことができない。すなわち1つの仕事を行なうのに2つ
以上のプロセyすが独自にかつ相互に連絡をとりながら
処理を進める方式(非同期処理方式)では、第2図に示
すようにMCPUlが行なっている処理の中でMCPU
2を動作させると共にMCPU2の動作完了を、WIT
マクロ命令で待ち合せる場合があり、このようなデバッ
グを効率的に行なうのは困難である。
デバッグを行なおうとすると、マルチプロセッサに特有
な非同期処理の問題のために効率的なデバッグを行なう
ことができない。すなわち1つの仕事を行なうのに2つ
以上のプロセyすが独自にかつ相互に連絡をとりながら
処理を進める方式(非同期処理方式)では、第2図に示
すようにMCPUlが行なっている処理の中でMCPU
2を動作させると共にMCPU2の動作完了を、WIT
マクロ命令で待ち合せる場合があり、このようなデバッ
グを効率的に行なうのは困難である。
つまり第2図において、MCPU2はMCPUlかも起
動されると共にMCPU3からも起動されるため、単に
従来のデバッグ装置を使用するのでは、どのプロセッサ
により起動されたかの判定ができず、従ってプロセッサ
間の同期が正しく行なわれているかは判断ができない。
動されると共にMCPU3からも起動されるため、単に
従来のデバッグ装置を使用するのでは、どのプロセッサ
により起動されたかの判定ができず、従ってプロセッサ
間の同期が正しく行なわれているかは判断ができない。
またMCPU2がPO3Tマクロ命令を実行した時、起
動したプロセッサ(MCPUl又はMCPU3)がどの
様な状態なのか調べる必要がある。第2図においてはM
CPUlは末だWAITマクロ命令を実行していないが
、CPU3は既KWAI Tマクロ命令を実行しており
、これらは従来のデバッグ装置では判断が困難であった
。
動したプロセッサ(MCPUl又はMCPU3)がどの
様な状態なのか調べる必要がある。第2図においてはM
CPUlは末だWAITマクロ命令を実行していないが
、CPU3は既KWAI Tマクロ命令を実行しており
、これらは従来のデバッグ装置では判断が困難であった
。
本発明は上記欠点に鑑み、被デパックフロセッサのそれ
ぞれに応じて条件を設定するととも、条件にあったプロ
セッサの検出結果を他のプロセッサに供給するように構
成することにより、簡易な構成で効果的なマルチプロセ
ッサのデバッグを行なえるマルチグロセノサデバノグ装
置を提供するものである。
ぞれに応じて条件を設定するととも、条件にあったプロ
セッサの検出結果を他のプロセッサに供給するように構
成することにより、簡易な構成で効果的なマルチプロセ
ッサのデバッグを行なえるマルチグロセノサデバノグ装
置を提供するものである。
以下本発明の一実施例について、図面を参照しながら説
明する。第3図は本発明の一実施例におけるマルチグロ
セノサデバノグ装置のブロック図を示すもので、説明の
ため被デパックフロセッサと共に示しである。第3図に
おいて20.30は被デパックフロセッサ、21.31
は被デパックフロセッサ20,30のローカルメモリ、
22゜32は被デパックフロセッサ2o、30のローカ
ルバス、23,33は被デパックフロセッサ20゜30
のCPU、24.34は被デバツグプロセッサ20.3
0のバッファである。40は被デパックフロセッサ20
.30の共有メモリ、(61−1)、(51−2)はそ
れぞれ被デバノググロセッサ20.30に対する条件を
格納するレジスタ、(52−1) 、 (52−2)は
比較器、(63−1) 、 (E)3−2)はフリップ
フロップ、(64−1)、(64−2)はそれぞれクリ
ップフロップ(53−1)、(63−2)に対応してそ
の出力の有効を制御するフリップフロップ、(56−1
)、(55−2>はフリップフロップ、(66−1)、
(tse−2)、(ts7−1)、(rs7−2)はオ
ア素子、(68−1)、(58−2)はナンド素子、(
59−1) 、 (59−2)は遅延素子、(60−1
’) 、 (60−2)はシフトレジスタ、7oはマル
チプロセンサデバッグ装置の制御部である。
明する。第3図は本発明の一実施例におけるマルチグロ
セノサデバノグ装置のブロック図を示すもので、説明の
ため被デパックフロセッサと共に示しである。第3図に
おいて20.30は被デパックフロセッサ、21.31
は被デパックフロセッサ20,30のローカルメモリ、
22゜32は被デパックフロセッサ2o、30のローカ
ルバス、23,33は被デパックフロセッサ20゜30
のCPU、24.34は被デバツグプロセッサ20.3
0のバッファである。40は被デパックフロセッサ20
.30の共有メモリ、(61−1)、(51−2)はそ
れぞれ被デバノググロセッサ20.30に対する条件を
格納するレジスタ、(52−1) 、 (52−2)は
比較器、(63−1) 、 (E)3−2)はフリップ
フロップ、(64−1)、(64−2)はそれぞれクリ
ップフロップ(53−1)、(63−2)に対応してそ
の出力の有効を制御するフリップフロップ、(56−1
)、(55−2>はフリップフロップ、(66−1)、
(tse−2)、(ts7−1)、(rs7−2)はオ
ア素子、(68−1)、(58−2)はナンド素子、(
59−1) 、 (59−2)は遅延素子、(60−1
’) 、 (60−2)はシフトレジスタ、7oはマル
チプロセンサデバッグ装置の制御部である。
以上の様に構成されたマルチプロセンサデバッグ装置に
ついて、以下その動作について説明する。
ついて、以下その動作について説明する。
まず被デバツグプロセッサ20におけるローカルメモリ
21上のある特定の位置に被デバツグプロセッサ30に
対する起動命令が格納されていると仮定する。上記特定
アドレスAをレジスタ(51−1)に制御部70から格
納しておくと、被デバツグプロセッサ20が被デバツグ
プロセッサ30に対する起動命令を実行すると、比較器
(52−1)により一致信号が出力されフリップフロッ
プ(53−1)をセy Lする。この時被デノ(ツク°
プロセッサ30に対するフリップフロップ(56−2)
に、フリップフロップ(63−1)の出力を有効とする
ために偽値が格納されているとすると、オア素子(67
−2)の出力には真値が現われる。
21上のある特定の位置に被デバツグプロセッサ30に
対する起動命令が格納されていると仮定する。上記特定
アドレスAをレジスタ(51−1)に制御部70から格
納しておくと、被デバツグプロセッサ20が被デバツグ
プロセッサ30に対する起動命令を実行すると、比較器
(52−1)により一致信号が出力されフリップフロッ
プ(53−1)をセy Lする。この時被デノ(ツク°
プロセッサ30に対するフリップフロップ(56−2)
に、フリップフロップ(63−1)の出力を有効とする
ために偽値が格納されているとすると、オア素子(67
−2)の出力には真値が現われる。
さらに被デバツグプロセッサ30がPO3Tマクロ命令
をローカルメモリ31上の特定アドレスBに置いておき
、レジスタ(51−2)に特定アドレス値Bを格納して
おくと、PO3Tマクロ命令を実行することにより、フ
リップフロップ(53−2)が真値にセットされる。ノ
リノフリロノプ(54−2)の内容が偽値であれば、オ
ア素子(Be−2)の出力が真値に変化し、ナンド素子
(58−2)の全ての入力が真値となり、遅延素子(5
9−2)から偽値が遅延されて出力され、ローカルバス
32の内容のシフトレジスタ(60−2)への取り込み
を中断させる。被デノグプロセノサ20においても同様
の動作が発生し、シフトレジスタ(60−1)には、被
デノグプロセノサ2oのローカルバス22の内容が取り
込まれる。
をローカルメモリ31上の特定アドレスBに置いておき
、レジスタ(51−2)に特定アドレス値Bを格納して
おくと、PO3Tマクロ命令を実行することにより、フ
リップフロップ(53−2)が真値にセットされる。ノ
リノフリロノプ(54−2)の内容が偽値であれば、オ
ア素子(Be−2)の出力が真値に変化し、ナンド素子
(58−2)の全ての入力が真値となり、遅延素子(5
9−2)から偽値が遅延されて出力され、ローカルバス
32の内容のシフトレジスタ(60−2)への取り込み
を中断させる。被デノグプロセノサ20においても同様
の動作が発生し、シフトレジスタ(60−1)には、被
デノグプロセノサ2oのローカルバス22の内容が取り
込まれる。
この様にしてシフトレジスタ(5o−1)、(6゜−2
)に取り込まれた内容を調べることによってマルチプロ
セッサにおけるデバッグを行なうことができる。すなわ
ち、シフトレジスタ(60−1)においてはPO3Tマ
クロ命令が別のプロセッサによって実行された時の起動
側のプロセッサの状態がトレースされており、一方シフ
トジスタ(60−2)においては被デバツグプロセッサ
20によって起動された場合の処理過程がトレースされ
ていることにより、それぞれのプロセッサ20.30の
デバッグを行なうことができる。
)に取り込まれた内容を調べることによってマルチプロ
セッサにおけるデバッグを行なうことができる。すなわ
ち、シフトレジスタ(60−1)においてはPO3Tマ
クロ命令が別のプロセッサによって実行された時の起動
側のプロセッサの状態がトレースされており、一方シフ
トジスタ(60−2)においては被デバツグプロセッサ
20によって起動された場合の処理過程がトレースされ
ていることにより、それぞれのプロセッサ20.30の
デバッグを行なうことができる。
なお、マルチプロセンサデバッグ装置の制御部70は、
シフトレジスタ(6o−1)、(6O−2)よりトレー
ス結果を読み出し、第3図には示されていない表示装置
に出力したり、レジスタ(51−1)、Ctsl−2)
、(ts4−1)、(54−2) 、 (tsrs−1
)、 (5B−2)にトリガー条件を設定する処理を行
なうことができる。
シフトレジスタ(6o−1)、(6O−2)よりトレー
ス結果を読み出し、第3図には示されていない表示装置
に出力したり、レジスタ(51−1)、Ctsl−2)
、(ts4−1)、(54−2) 、 (tsrs−1
)、 (5B−2)にトリガー条件を設定する処理を行
なうことができる。
また遅延素子(59−1) 、 (59−2)の遅延時
間は本実施例においては固定としたが、必要とするデバ
ッグ条件に応じて制御部70より設定できるようにして
もよい。
間は本実施例においては固定としたが、必要とするデバ
ッグ条件に応じて制御部70より設定できるようにして
もよい。
更に本実施例におけるシフトレジスタ(60−1)(s
o−2)をRAMに1青き換えてもマルチプロセンサデ
バッグ装置を構成することもできる。
o−2)をRAMに1青き換えてもマルチプロセンサデ
バッグ装置を構成することもできる。
以上の様に本発明は、被デバツグプロセッサ毎に条件を
設定し、その条件に合致するプロセッサの状態を検出し
て検出結果を他プロセツサにも供給するように構成する
ことにより、複数のプロセッサ相互に渡る非同期処理を
含むマルチプロセッサのデバッグを簡易な構成で効果的
に行なうことができ、その工業的価値は大なるものがあ
る。
設定し、その条件に合致するプロセッサの状態を検出し
て検出結果を他プロセツサにも供給するように構成する
ことにより、複数のプロセッサ相互に渡る非同期処理を
含むマルチプロセッサのデバッグを簡易な構成で効果的
に行なうことができ、その工業的価値は大なるものがあ
る。
第1図は従来のデバッグ装置のブロック図、第2図はマ
ルチプロセッサにおける非同期処理の概念を示す図、第
3図は本発明の一実施例におけるデバッグ装置のブロッ
ク図である。 20.30・・・・・・被デバッグプロセノザ、51−
1.51−2・・…・レジスタ、52−1.52−2・
・・・・・比較器、53−1 、53−2 、54−1
.64−2・・山・フリップフロップ、56−1゜56
−2 、57−1 、67−2・・・・・・素子、58
−1.58−2・・・・・・ナンド素子、59−1.5
9−2・・・・・・遅延素子、60−1.60−2・・
・・・・シフトレジスタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第2
図 MCpυ1 0
ルチプロセッサにおける非同期処理の概念を示す図、第
3図は本発明の一実施例におけるデバッグ装置のブロッ
ク図である。 20.30・・・・・・被デバッグプロセノザ、51−
1.51−2・・…・レジスタ、52−1.52−2・
・・・・・比較器、53−1 、53−2 、54−1
.64−2・・山・フリップフロップ、56−1゜56
−2 、57−1 、67−2・・・・・・素子、58
−1.58−2・・・・・・ナンド素子、59−1.5
9−2・・・・・・遅延素子、60−1.60−2・・
・・・・シフトレジスタ。 代理人の氏名 弁理士 中 尾 敏 男 ほか1名第2
図 MCpυ1 0
Claims (1)
- 【特許請求の範囲】 被デバツグプロセッサに対して設けられた条件を記憶す
る条件記憶レジスタと、前記被デバツグプロセッサの状
態が前記レジスタに記憶された条件に合致したことを検
出する比較器と、前記被デバツグプロセッサ毎に設けら
れ前記比較器の出力を記憶する第1のフリップフロップ
と、前記被デバツグプロセッサの動作状態を順次記憶す
る記憶手段と、前記被デバツグプロセッサ毎に設けられ
第1のレジスタに対応して前記第1のレジスタの出力の
有効無効を記憶する第2のレジスタと、前記第1のレジ
スタと第2のレジスタとの出力を入力とするオアーナン
ド素子と、前記オアーナンド素子の出力を入力とする遅
延素子とを具備し、前記遅延素子出力により前記記憶手
段の格納中断側デ。 御を行なうことを特徴とするマルチプロセソメ2ソゲ装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57115732A JPS598068A (ja) | 1982-07-02 | 1982-07-02 | マルチプロセツサデバツグ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57115732A JPS598068A (ja) | 1982-07-02 | 1982-07-02 | マルチプロセツサデバツグ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS598068A true JPS598068A (ja) | 1984-01-17 |
Family
ID=14669719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57115732A Pending JPS598068A (ja) | 1982-07-02 | 1982-07-02 | マルチプロセツサデバツグ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS598068A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015095061A (ja) * | 2013-11-12 | 2015-05-18 | 日立オートモティブシステムズ株式会社 | 車載用制御装置のロギングシステム |
-
1982
- 1982-07-02 JP JP57115732A patent/JPS598068A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015095061A (ja) * | 2013-11-12 | 2015-05-18 | 日立オートモティブシステムズ株式会社 | 車載用制御装置のロギングシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5410685A (en) | Non-intrinsive method and system for recovering the state of a computer system and non-intrusive debugging method and system utilizing same | |
US7689867B2 (en) | Multiprocessor breakpoint | |
US7191445B2 (en) | Method using embedded real-time analysis components with corresponding real-time operating system software objects | |
KR910017256A (ko) | 프로그램 가능한 제어기 | |
US20070226740A1 (en) | Method and apparatus for global breakpoint for parallel debugging on multiprocessor systems | |
EP0207506A2 (en) | Vector processing apparatus | |
JPH0713789A (ja) | フォールトトレラントコンピュータにおけるメモリ管理システム | |
Honarmand et al. | Cyrus: Unintrusive application-level record-replay for replay parallelism | |
US4974147A (en) | Programmable quiesce apparatus for retry, recovery and debug | |
US8881106B2 (en) | Debugging parallel software using speculatively executed code sequences in a multiple core environment | |
JPS598068A (ja) | マルチプロセツサデバツグ装置 | |
Lara et al. | A new approach to guarantee critical task schedulability in tdma-based bus access of multicore architecture | |
Macarenco et al. | The effects of system management interrupts on multithreaded, hyper-threaded, and MPI applications | |
JP2550708B2 (ja) | デバッグ方式 | |
Mitchell | Multi-core and multi-threaded socs present new debugging challenges | |
JPH11167500A (ja) | エミュレータ装置のイベント回路及びデバッグシステム | |
Vargas et al. | Preliminaries on a hardware-based approach to support mixed-critical workload execution in multicore processors | |
JPS62109140A (ja) | プログラム処理装置のトレ−ス回路 | |
Dantas | Improving developers' confidence in test results of multi-threaded systems: avoiding early and late assertions | |
JPS59183443A (ja) | デバツグ装置 | |
JPH09269933A (ja) | マルチプロセッサシステム | |
JPH0635760A (ja) | トレース機能付バッファ装置 | |
JPH03110637A (ja) | 命令トレース方式 | |
JPS6125254A (ja) | プログラムのデバツグ方式 | |
Narayanasamy et al. | RETROSPECTIVE: BugNet: continuously recording program execution for deterministic replay debugging |