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
Application number
JP57115732A
Other languages
English (en)
Inventor
Sumio Ozawa
小澤 純雄
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP57115732A priority Critical patent/JPS598068A/ja
Publication of JPS598068A publication Critical patent/JPS598068A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing 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の特定のアドレスに置か
れた命令を実行する時の前後のバスの状態をデバッグの
ために必要とすると仮定した場合上記したデバッグ装置
の動作を説明する。1ず主記憶装置2の特定アドレスの
値がレジスタ6に格納される。すると比較器7によって
バス10の各サイクル毎にレジスタ6の値とバス10の
値が比較され、一致していない時は、遅延素子8からは
偽値が出力され、無条件にバス10の状態をトレースメ
モリ6に取り込まれる。もし一致が発生し比較器7より
真値が出力された時、遅延素子8により一定時間遅れて
偽値が出力され、トレースメモリ5の取り込みは中断さ
れる。上記遅延時間が全トレースメモリ取り込み時間の
局であった場合にはトレースメモリ5の内容は条件一致
時点を中心に前後のバスの状態が格納されることとなる
この様Vこある時点を中心にその前後のバスの状態を調
べることによりプログラムが実行されている環境を知り
プログラムの異常動作を解明してデバッグを進めている
以上説明した従来のデバッグ装置でマルチプロセッサの
デバッグを行なおうとすると、マルチプロセッサに特有
な非同期処理の問題のために効率的なデバッグを行なう
ことができない。すなわち1つの仕事を行なうのに2つ
以上のプロセyすが独自にかつ相互に連絡をとりながら
処理を進める方式(非同期処理方式)では、第2図に示
すようにMCPUlが行なっている処理の中でMCPU
2を動作させると共にMCPU2の動作完了を、WIT
マクロ命令で待ち合せる場合があり、このようなデバッ
グを効率的に行なうのは困難である。
つまり第2図において、MCPU2はMCPUlかも起
動されると共にMCPU3からも起動されるため、単に
従来のデバッグ装置を使用するのでは、どのプロセッサ
により起動されたかの判定ができず、従ってプロセッサ
間の同期が正しく行なわれているかは判断ができない。
またMCPU2がPO3Tマクロ命令を実行した時、起
動したプロセッサ(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はマル
チプロセンサデバッグ装置の制御部である。
以上の様に構成されたマルチプロセンサデバッグ装置に
ついて、以下その動作について説明する。
まず被デバツグプロセッサ20におけるローカルメモリ
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の内容が取り
込まれる。
この様にしてシフトレジスタ(5o−1)、(6゜−2
)に取り込まれた内容を調べることによってマルチプロ
セッサにおけるデバッグを行なうことができる。すなわ
ち、シフトレジスタ(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)にトリガー条件を設定する処理を行
なうことができる。
また遅延素子(59−1) 、 (59−2)の遅延時
間は本実施例においては固定としたが、必要とするデバ
ッグ条件に応じて制御部70より設定できるようにして
もよい。
更に本実施例におけるシフトレジスタ(60−1)(s
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

Claims (1)

  1. 【特許請求の範囲】 被デバツグプロセッサに対して設けられた条件を記憶す
    る条件記憶レジスタと、前記被デバツグプロセッサの状
    態が前記レジスタに記憶された条件に合致したことを検
    出する比較器と、前記被デバツグプロセッサ毎に設けら
    れ前記比較器の出力を記憶する第1のフリップフロップ
    と、前記被デバツグプロセッサの動作状態を順次記憶す
    る記憶手段と、前記被デバツグプロセッサ毎に設けられ
    第1のレジスタに対応して前記第1のレジスタの出力の
    有効無効を記憶する第2のレジスタと、前記第1のレジ
    スタと第2のレジスタとの出力を入力とするオアーナン
    ド素子と、前記オアーナンド素子の出力を入力とする遅
    延素子とを具備し、前記遅延素子出力により前記記憶手
    段の格納中断側デ。 御を行なうことを特徴とするマルチプロセソメ2ソゲ装
    置。
JP57115732A 1982-07-02 1982-07-02 マルチプロセツサデバツグ装置 Pending JPS598068A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015095061A (ja) * 2013-11-12 2015-05-18 日立オートモティブシステムズ株式会社 車載用制御装置のロギングシステム

Cited By (1)

* Cited by examiner, † Cited by third party
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