JPH1083316A - マルチcpuシステム - Google Patents

マルチcpuシステム

Info

Publication number
JPH1083316A
JPH1083316A JP8236518A JP23651896A JPH1083316A JP H1083316 A JPH1083316 A JP H1083316A JP 8236518 A JP8236518 A JP 8236518A JP 23651896 A JP23651896 A JP 23651896A JP H1083316 A JPH1083316 A JP H1083316A
Authority
JP
Japan
Prior art keywords
cpu
ice
processing
interrupt
buffer
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
JP8236518A
Other languages
English (en)
Inventor
Mitsuhiro Okada
充弘 岡田
Takehito Sakamaki
岳人 坂巻
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.)
MICRO BOARD KK
Kokusai Electric Corp
Original Assignee
MICRO BOARD KK
Kokusai 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 MICRO BOARD KK, Kokusai Electric Corp filed Critical MICRO BOARD KK
Priority to JP8236518A priority Critical patent/JPH1083316A/ja
Publication of JPH1083316A publication Critical patent/JPH1083316A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 従来のマルチCPUシステムでは、その連携
動作のデバッグを行うには、複数の高価なICEを要
し、コストを低減できないという問題点があったが、本
発明では、開発コストを低減しつつ、連携動作をデバッ
グできるマルチCPUシステムを提供する。 【解決手段】 ICE1が利用者によって指定された条
件にてCPUをエミュレートする処理を停止するととも
に、割込信号と同じものである、停止信号を割込ライン
41に出力し、CPU2が割込ライン41を介して割込
信号の入力を受けて通常の処理を停止するとともに、割
込処理として、その内部情報をデータダンプ処理によっ
て、ICE1に出力するマルチCPUシステムである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のCPUによ
って分散処理を行うマルチCPUシステムに係り、特に
開発時のデバッグを容易にすることができるマルチCP
Uシステムに関する。
【0002】
【従来の技術】マルチCPUシステムでは、複数のCP
Uが連携して動作し、各CPU間で情報を送受信しつつ
処理が行われるものである。そして、このようなマルチ
CPUシステムのために開発されるプログラムは、その
ような連携動作を考慮して作られているのが普通であ
る。
【0003】また、マルチCPUシステムにおけるプロ
グラムをデバッグするときには、図2に示すように、各
独立したCPUに代えてエミュレート対象のCPUを内
蔵するICE1(In-Circuit Emulator )を複数装着
し、更にエミュレート内容を格納するメモリ3を備え、
ICE1にエミュレート対象のCPUをエミュレートさ
せるようにしていた。図2は、従来のマルチCPUシス
テムにおいてデバッグを行うときの説明図である。
【0004】以下、各部を説明すると、ICE1は、エ
ミュレート対象のCPUを内蔵し、独立したCPUと同
様の動作(CPUのエミュレート)を行うものである
が、実行した命令、命令実行時のレジスタの変化等デバ
ッグに必要な情報をメモリ3のロギングバッファに記録
し、また、特定の条件にてCPUとしての動作(エミュ
レートの処理)を停止できるところが異なっている。
【0005】尚、ICE1は、エミュレート対象となる
CPUを内蔵するエミュレータプローブと、ICE部と
に分かれているのが普通であるが、ここでは、それらを
まとめてICE1としている。
【0006】また、この実行した命令、命令実行時のレ
ジスタの変化等デバッグに必要な情報を総じて「CPU
の内部情報」と称することとする。ここで、メモリ3内
のロギングバッファは、ループバッファであり、一定数
の命令以前の情報は上書きによって消去されるようにな
っている。
【0007】さらに、ICE1は、停止信号出力端子
と、停止信号入力端子とを具備し、動作が停止したとき
に、停止信号出力端子より停止信号を出力するものであ
る。さらに、ICE1は、停止信号入力端子から停止信
号の入力を受けて、動作を停止するものである。
【0008】次に、従来のマルチCPUシステムにおけ
るプログラムのデバッグ方法について説明する。まず、
プログラムをデバッグするユーザは、ICE1に特定の
条件、例えばPC(プログラム・カウンタ)が特定の値
(以下、ブレークポイントと称する)になったときに動
作を停止するように指示し、プログラムを実行させる。
すると、ICE1は、PCをリセットし、プログラムの
実行を開始する。そのとき、実行したプログラムの内容
をメモリ3のロギングバッファに蓄積する。
【0009】やがて、ICE1のPCがブレークポイン
トに達すると、ICE1が動作を停止し、停止信号出力
端子より停止信号を出力する。すると、他のICE1が
停止信号入力端子より、その停止信号の入力を受けて動
作を停止する。そして、ユーザは、それらメモリ3のロ
ギングバッファの内容をICE1に取り込んで、検討し
てプログラムのデバッグを行うようにしていた。
【0010】
【発明が解決しようとする課題】しかしながら、上記従
来のマルチCPUシステムでは、ICEが高価であるに
もかかわらず、複数のICEを必要とするので、開発の
コストを低減できないという問題点があった。
【0011】また、上記従来のマルチCPUシステムで
は、コスト低減のために、一つのCPUの処理にのみ着
目し、ICEを一つとすることも考えられるが、その場
合にはICEがエミュレートするCPUが動作を停止し
た後も、他のCPUはマルチCPUの連携動作に従って
プログラムの実行を継続してしまうため、マルチCPU
の連携動作におけるデバッグが困難であるという問題点
があった。
【0012】本発明は上記実情に鑑みて為されたもの
で、開発コストを低減しつつ、マルチCPUの連携動作
におけるデバッグを容易にできるマルチCPUシステム
を提供することを目的とする。
【0013】
【課題を解決するための手段】上記従来例の問題点を解
決するための請求項1記載の発明は、マルチCPUシス
テムにおいて、内蔵するCPUをエミュレートし、処理
停止で特定信号を出力するICEと、前記特定信号の入
力によりデータダンプ処理を実行してロギングバッファ
の内容を前記ICEに出力する単数又は複数のCPUと
を有することを特徴としており、単数のICEを以て、
特定の条件での各CPUの処理状況をデバッグのための
資料として提供でき、かつ安価に構成できる。
【0014】上記従来例の問題点を解決するための請求
項2記載の発明は、マルチCPUシステムにおいて、プ
ログラムの実行、処理を行い、実行内容をリングバッフ
ァであるロギングバッファに格納し、特定信号の入力を
受けて、処理を停止し、データダンプ処理である割込処
理を行う単数又は複数のCPUと、内蔵するCPUをエ
ミュレートするとともに、実行内容をリングバッファで
あるロギングバッファに格納し、エミュレートしている
CPUの内部情報が予め指定された特定の条件に合致す
ると、エミュレートの処理を停止して、前記特定信号を
出力する、少なくとも1つのICEとを有することを特
徴としており、単数のICEを以て、特定の条件での各
CPUの処理状況をデバッグのための資料として提供で
き、かつ安価に構成できる。
【0015】上記従来例の問題点を解決するための請求
項3記載の発明は、請求項1又は請求項2記載のマルチ
CPUシステムにおいて、特定信号が割込信号であるこ
とを特徴としており、単数のICEを以て、特定の条件
での各CPUの処理状況をデバッグのための資料として
提供でき、かつ安価に構成できる。
【0016】上記従来例の問題点を解決するための請求
項4記載の発明は、データ伝送が為されるシステムバス
に、単数又は複数のCPUと、ICEと、メモリとが接
続されたマルチCPUシステムであって、前記システム
バスが割込ラインを備え、前記CPUが備えるIRQ端
子と前記割込ラインとが接続され、前記ICEが備える
停止信号出力端子と前記割込ラインとが接続され、前記
ICEが、内蔵するCPUのエミュレートを行い、実行
内容をリングバッファであるロギングバッファに格納
し、特定条件となると前記停止信号出力端子から停止信
号を前記割込ラインに出力し、前記単数又は複数のCP
Uが、プログラムを実行しつつ、実行内容を前記メモリ
内のロギングバッファに格納し、前記割込ラインから前
記IRQ端子に停止信号が入力されると、前記ロギング
バッファの内容を前記ICEに送信する割込処理を行う
ことを特徴としており、単数のICEを以て、特定の条
件での各CPUの処理状況をデバッグのための資料とし
て提供でき、かつ安価に構成できる。
【0017】
【発明の実施の形態】本発明の実施の形態を図面を参照
しながら説明する。本発明に係るマルチCPUシステム
(本システム)は、少なくとも1つのICE(In-Circu
it Emulator )を有し、ICEが予め定められた条件で
エミュレート対象のCPUの動作を停止するとともに、
他のCPUに通常処理とは異なる例外処理を行わせて、
それら他のCPUに内部情報を出力させ、デバッグのた
めの情報とするものであり、ICEを少なく構成できる
ので、安価にできるものである。
【0018】本システムを図1を使って説明する。図1
は、本システムの構成ブロック図である。本システム
は、図1に示すように、ICE1と、CPU2と、メモ
リ3と、システムバス4と、割込ライン41とから基本
的に構成されている。
【0019】以下、本システムの各部を具体的に説明す
る。ICE1は、従来と同様に、エミュレート対象のC
PUを内蔵し、そのCPUのエミュレートを行うが、実
行した命令、命令実行時のレジスタの変化等デバッグに
必要な情報をメモリ3のロギングバッファに記録し、ま
た、特定の条件にて内蔵するCPUの処理を停止するよ
うになっている。また、ICE1の停止信号出力端子
は、割込ライン41に接続されている。尚、以下の説明
で、ICE1の出力する停止信号は、CPU2にとって
は割込信号となるものである。
【0020】CPU2は、通常は、メモリ3の一部をワ
ークメモリとして使用し、通常処理のプログラムを実行
しながら、メモリ3の一部のロギングエリア(ロギング
バッファ)に実行内容を格納するものである。つまり、
CPU2は、通常処理するプログラムを実行するととも
に、レジスタ等の内部情報をメモリ3のロギングバッフ
ァに出力するものであり、具体的には、通常処理するプ
ログラムに示された命令を実行すると、その直後に一々
ロギングバッファに当該命令の内容と、当該命令によっ
て受け渡しがなされたデータと、当該命令を実行した時
刻とを出力して記録させるようになっている。ここで、
ロギングバッファは、リングバッファとして実装されて
おり、そのような実装方法は公知のものである。
【0021】また、CPU2は、IRQ(Interrupt Re
quest )端子を有し、そのIRQ端子は、割込ライン4
1に接続されている。CPU2は、割込ライン41を介
して、IRQ端子より割込信号の入力を受けて、後述す
る割込処理を行い、処理停止するものである。
【0022】すなわち、CPU2は、通常の処理を行っ
ているときに、IRQ端子より割込信号の入力を受ける
と、レジスタの内容等をメモリ3のロギングバッファに
待避し、割込処理を開始するようにしている。
【0023】ここで、CPU2の割込処理について説明
すると、割込処理において、CPU2は、メモリ3のロ
ギングバッファの内容をICE1に送信し、処理を終了
するようになっている。この処理を「データダンプ処
理」と称することがある。
【0024】メモリ3は、プログラム等を格納している
ROM及びワークメモリとロギングバッファとを格納す
るRAMであり、CPU2によって管理されているもの
である。
【0025】システムバス4は、CPU2間及びCPU
2と周辺装置間でデータ又はアドレスの授受を行うバス
である。また、システムバス4は、割込ライン41を有
し、割込信号の授受をCPU2間及びCPU2とICE
1間で行うものである。
【0026】次に、本システムの動作について説明す
る。まず、プログラムをデバッグするユーザは、ICE
1に特定の条件、例えばPCがブレークポイントになっ
たときに動作を停止するように指示し、プログラムを実
行させる。すると、ICE1は、PCをリセットし、通
常処理のプログラムの実行を開始する。そのとき、各C
PU2がプログラムに示された命令を実行するととも
に、その内容が、その命令の実行の際に受け渡しされた
データと、その時刻とともにメモリ3のロギングバッフ
ァに蓄積する。
【0027】やがて、PCがブレークポイントになる
と、ICE1が内蔵するCPUの処理を停止するととも
に、停止信号出力端子より、CPU2の割込信号と同一
の信号である、停止信号を出力する。すると、CPU2
がIRQ端子に割込信号が入力されたと見なして、割込
処理を行い、データダンプ処理によって、各CPU2の
ロギング内容がメモリ3のロギングバッファからICE
1に送信される。そして、ICE1が受信したそれらの
ロギングバッファの内容を保持する。
【0028】そうして、ICE1には、処理を停止する
条件における各CPU2の処理の内容が蓄積されている
こととなる。そして、ユーザは、この各CPU2の処理
の内容を検討し、デバッグを行う。尚、ここで説明した
本システムでは、IRQ端子を用いて割込処理を行うよ
うにしていたが、割込信号ではなく、どのような信号で
も構わない。
【0029】本システムによれば、ICE1が内蔵する
CPUの処理を停止したときに、ICE1から割込信号
が出力され、CPU2はその割込信号で通常処理を停止
し、割込処理としてデータダンプ処理が行われるように
しているので、処理停止時点での各CPU2の処理の内
容を単数のICE1を用いても出力でき、安価に構成で
きる効果がある。
【0030】
【発明の効果】請求項1〜4記載の発明によれば、IC
Eが予め指定された条件で処理を停止するとともに、C
PUに特別の信号を出力し、データダンプ処理を行わ
せ、処理を停止した時点での各CPUの処理の内部情報
をICEに送信するマルチCPUシステムとしているの
で、単数のICEを以て、特定の条件での各CPUの処
理状況をデバッグのための資料として提供でき、かつ安
価に構成できる効果がある。
【図面の簡単な説明】
【図1】本システムの構成ブロック図である。
【図2】従来のマルチCPUシステムにおいてデバッグ
を行うときの説明図である。
【符号の説明】
1…ICE、 2…CPU、 3…メモリ、 4…シス
テムバス、 41…割込ライン

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 内蔵するCPUをエミュレートし、処理
    停止で特定信号を出力するICEと、前記特定信号の入
    力によりデータダンプ処理を実行してロギングバッファ
    の内容を前記ICEに出力する単数又は複数のCPUと
    を有することを特徴とするマルチCPUシステム。
  2. 【請求項2】 プログラムの実行、処理を行い、実行内
    容をリングバッファであるロギングバッファに格納し、
    特定信号の入力を受けて、処理を停止し、データダンプ
    処理である割込処理を行う単数又は複数のCPUと、内
    蔵するCPUをエミュレートするとともに、実行内容を
    リングバッファであるロギングバッファに格納し、エミ
    ュレートしているCPUの内部情報が予め指定された特
    定の条件に合致すると、エミュレートの処理を停止し
    て、前記特定信号を出力する、少なくとも1つのICE
    とを有することを特徴とするマルチCPUシステム。
  3. 【請求項3】 特定信号が割込信号であることを特徴と
    する請求項1又は請求項2記載のマルチCPUシステ
    ム。
  4. 【請求項4】 データ伝送が為されるシステムバスに、
    単数又は複数のCPUと、ICEと、メモリとが接続さ
    れたマルチCPUシステムであって、前記システムバス
    が割込ラインを備え、前記CPUが備えるIRQ端子と
    前記割込ラインとが接続され、前記ICEが備える停止
    信号出力端子と前記割込ラインとが接続され、前記IC
    Eが、内蔵するCPUのエミュレートを行い、実行内容
    をリングバッファであるロギングバッファに格納し、特
    定条件となると前記停止信号出力端子から停止信号を前
    記割込ラインに出力し、前記単数又は複数のCPUが、
    プログラムを実行しつつ、実行内容を前記メモリ内のロ
    ギングバッファに格納し、前記割込ラインから前記IR
    Q端子に停止信号が入力されると、前記ロギングバッフ
    ァの内容を前記ICEに送信する割込処理を行うことを
    特徴とするマルチCPUシステム。
JP8236518A 1996-09-06 1996-09-06 マルチcpuシステム Pending JPH1083316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8236518A JPH1083316A (ja) 1996-09-06 1996-09-06 マルチcpuシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8236518A JPH1083316A (ja) 1996-09-06 1996-09-06 マルチcpuシステム

Publications (1)

Publication Number Publication Date
JPH1083316A true JPH1083316A (ja) 1998-03-31

Family

ID=17001898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8236518A Pending JPH1083316A (ja) 1996-09-06 1996-09-06 マルチcpuシステム

Country Status (1)

Country Link
JP (1) JPH1083316A (ja)

Similar Documents

Publication Publication Date Title
US4633417A (en) Emulator for non-fixed instruction set VLSI devices
US5978902A (en) Debug interface including operating system access of a serial/parallel debug port
EP1754156B1 (en) Data processing system with trace co-processor
US6026503A (en) Device and method for debugging systems controlled by microprocessors
JPH011039A (ja) インサーキット・エミュレータ
JPH02287635A (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
KR20010006193A (ko) 소형의 트레이스 기록 기억장치를 포함하는 디버그 인터페이스
US5566303A (en) Microcomputer with multiple CPU'S on a single chip with provision for testing and emulation of sub CPU's
EP0942375B1 (en) Adapter device with a local memory and method for processor emulation
JP2513417B2 (ja) 情報処理装置
US5003468A (en) Guest machine execution control system for virutal machine system
EP0638864B1 (en) Development support system for microcomputer with internal cache
JPS58197553A (ja) プログラム監視装置
JPH1083316A (ja) マルチcpuシステム
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
JPH0550016B2 (ja)
JPH0219937A (ja) 電子計算機システム
JPH0259829A (ja) マイクロコンピュータ
JPH05204710A (ja) イベントトレース装置
JPS59202546A (ja) デバツグ装置
JPH11249929A (ja) プログラム制御されるユニット
JPH07121396A (ja) エミュレータ
JPS62194551A (ja) マイクロプロセツサのデバツグ方式
JPS61175834A (ja) マイクロプログラムデバツグ機能付きデ−タ処理装置
JPH0373011B2 (ja)