JP2006079142A - Multiprocessor device - Google Patents
Multiprocessor device Download PDFInfo
- Publication number
- JP2006079142A JP2006079142A JP2004259152A JP2004259152A JP2006079142A JP 2006079142 A JP2006079142 A JP 2006079142A JP 2004259152 A JP2004259152 A JP 2004259152A JP 2004259152 A JP2004259152 A JP 2004259152A JP 2006079142 A JP2006079142 A JP 2006079142A
- Authority
- JP
- Japan
- Prior art keywords
- status information
- execution
- program
- processors
- processor
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、複数のプロセッサを有するマルチプロセッサ装置に関する。具体的には、マルチプロセッサ装置内の複数のプロセッサが一時的に実行を停止したプログラム(デバッグ対象プログラム、アプリケーション・プログラム等)の同時実行再開技術に関する。 The present invention relates to a multiprocessor device having a plurality of processors. Specifically, the present invention relates to a technique for resuming simultaneous execution of a program (a debug target program, an application program, etc.) that is temporarily stopped by a plurality of processors in a multiprocessor device.
図5はデバッグ装置の動作を説明するための図である。図1中、1はデバッグ装置、2はプロセッサ、3はプロセッサ2用のデバッグ対象プログラム、4はプロセッサ2用のデバッグ制御プログラムである。デバッグ装置1は、プロセッサ2がデバッグ対象プログラム3を実行してブレークポイントに達すると、実行プログラムをデバッグ対象プログラム3からデバッグ制御プログラム4にジャンプさせ、デバッグ制御プログラム4によりプロセッサ2のレジスタやメモリの内容等を調査し、その後、プロセッサ2にデバッグ対象プログラム3の実行を再開させる。
FIG. 5 is a diagram for explaining the operation of the debugging device. In FIG. 1, 1 is a debugging device, 2 is a processor, 3 is a debug target program for the processor 2, and 4 is a debug control program for the processor 2. When the processor 2 executes the
図6は従来のマルチプロセッサ装置の一例をデバッグ装置とともに示す図である。5は従来のマルチプロセッサ装置の一例、6はデバッグ装置である。また、マルチプロセッサ装置5において、7−i(但し、i=0、1、2である。以下、同様。)はプロセッサ、8−iはプロセッサ7−i用のデバッグ対象プログラム、9−iはプロセッサ7−i用のデバッグ制御プログラムである。図6に示す従来のマルチプロセッサ装置5においては、デバッグ装置6は、デバッグ対象プログラム8−0〜8−2の各々を独立にデバッグすることになる。
図6に示す従来のマルチプロセッサ装置5においては、デバッグ対象プログラム8−0〜8−2間に連携がある場合、異なるタイミングでデバッグ制御プログラム9−0〜9−2を実行させた場合であっても、その後、デバッグ対象プログラム8−0〜8−2の実行再開を同時に行うことが必要となる場合がある。例えば、或るタイミングでデバッグ対象プログラム8−0〜8−2の実行再開を同時に行わないと、或るバグが再現できないというようなタイミング・クリティカルな問題が発生した場合等である。 In the conventional multiprocessor device 5 shown in FIG. 6, when the debug target programs 8-0 to 8-2 are linked, the debug control programs 9-0 to 9-2 are executed at different timings. Even then, it may be necessary to simultaneously resume execution of the debug target programs 8-0 to 8-2. For example, there is a case where a timing critical problem occurs in which a bug cannot be reproduced unless execution of the debug target programs 8-0 to 8-2 is resumed at a certain timing.
しかしながら、図6に示す従来のマルチプロセッサ装置5においては、デバッグ装置6は、デバッグ対象プログラム8−0〜8−2の各々を独立にデバッグせざるを得ないので、デバッグ対象プログラム8−0〜8−2の実行再開を行うためには、デバッグ対象プログラム8−0〜8−2の実行再開指令をプロセッサ7−0〜7−2に対して順に行わざるを得ない。このため、デバッグ対象プログラム8−0〜8−2の同時実行再開が必要な場合であっても、開始タイミングに時間差が発生してしまうという問題点があった。 However, in the conventional multiprocessor device 5 shown in FIG. 6, the debug device 6 must debug each of the debug target programs 8-0 to 8-2 independently. In order to resume execution of 8-2, it is necessary to issue execution resume commands for the debug target programs 8-0 to 8-2 to the processors 7-0 to 7-2 in order. For this reason, even if it is necessary to resume the simultaneous execution of the debug target programs 8-0 to 8-2, there is a problem that a time difference occurs in the start timing.
また、プロセッサ7−0、7−1、7−2でそれぞれアプリケーション・プログラムA0、A1、A2を実行させる場合において、或るタイミングで、プロセッサ7−0、7−1、7−2におけるアプリケーション・プログラムA0、A1、A2の実行を揃えたいという場合がある。例えば、マルチタスク処理でタスクを切り換える場合において、切り換えたタスクを同時に実行開始させたいというような場合である。 Further, when the application programs A0, A1, and A2 are executed by the processors 7-0, 7-1, and 7-2, respectively, the application programs in the processors 7-0, 7-1, and 7-2 are processed at a certain timing. There is a case where it is desired to align the execution of the programs A0, A1, and A2. For example, when switching tasks in multitask processing, it is a case where it is desired to start executing the switched tasks simultaneously.
この場合、アプリケーション・プログラムA0〜A2の各々を適当なタイミングで一時的に停止させた後、適当なタイミングでアプリケーション・プログラムA0〜A2を同時実行再開させる必要がある。しかしながら、従来、マルチプロセッサ装置において、複数のプロセッサが実行する複数のアプリケーション・プログラムを時間差がないように揃える技術は提案されていない。 In this case, after each application program A0-A2 is temporarily stopped at an appropriate timing, it is necessary to resume execution of the application programs A0-A2 at an appropriate timing. However, conventionally, there has not been proposed a technique for aligning a plurality of application programs executed by a plurality of processors so that there is no time difference in a multiprocessor device.
本発明は、かかる点に鑑み、複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を容易に行うことができるようにしたマルチプロセッサ装置を提供することを目的とする。 In view of the above, an object of the present invention is to provide a multiprocessor device capable of easily resuming simultaneous execution of a program in which execution of a plurality of processors is temporarily stopped.
本発明は、複数のプロセッサを有するマルチプロセッサ装置であって、前記複数のプロセッサの中の選択された複数のプロセッサのステータス情報を保持するステータス情報保持装置を有し、前記ステータス情報保持装置が保持するステータス情報に基づいて、前記選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされているというものである。 The present invention is a multiprocessor device having a plurality of processors, and has a status information holding device that holds status information of a plurality of processors selected from the plurality of processors, and the status information holding device holds On the basis of the status information to be executed, the plurality of selected processors can resume the simultaneous execution of the programs temporarily stopped.
本発明によれば、ステータス情報保持装置が保持するステータス情報に基づいて、選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされている。したがって、選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を容易に行わせることができる。 According to the present invention, based on the status information held by the status information holding device, it is possible to resume the simultaneous execution of programs that have been temporarily stopped by a plurality of selected processors. Accordingly, it is possible to easily resume the simultaneous execution of programs that have been temporarily stopped by a plurality of selected processors.
(第1実施形態・・図1、図2)
図1は本発明の第1実施形態のマルチプロセッサ装置をデバッグ装置とともに示す図である。図1中、10は本発明の第1実施形態のマルチプロセッサ装置、11はデバッグ装置である。本発明の第1実施形態のマルチプロセッサ装置10は、その要部を概念的に示している。
(First embodiment. FIG. 1 and FIG. 2)
FIG. 1 is a diagram showing a multiprocessor device according to a first embodiment of the present invention together with a debugging device. In FIG. 1, 10 is a multiprocessor device according to the first embodiment of the present invention, and 11 is a debugging device. The
本発明の第1実施形態のマルチプロセッサ装置10において、12−iはプロセッサ、13−iはプロセッサ12−i用のデバッグ対象プログラム、14−iはプロセッサ12−i用のデバッグ制御プログラム、15はデバッグ実行制御用のステータス情報保持装置である。
In the
ステータス情報保持装置15において、16−iはプロセッサ12−iのステータス情報を保持するステータス情報保持レジスタであり、プロセッサ12−iは、デバッグ対象プログラム13−iを実行する場合(通常動作を行う場合)には、ステータス情報保持レジスタ16−iに“0”を書き込み、デバッグ制御プログラム14−iの実行が終了した場合には、ステータス情報保持レジスタ16−iに“1”を書き込む。
In the status
17−iはステータス情報保持レジスタ16−iを有効とするか否かを設定することにより、プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとするか否かを設定する設定レジスタである。 17-i is a setting register for setting whether or not the processor 12-i is set as a debug target program simultaneous execution restart control target processor by setting whether or not the status information holding register 16-i is enabled. .
デバッグ装置11は、ステータス情報保持レジスタ16−iを有効とする場合(プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとする場合)には設定レジスタ17−iに “1”を書き込み、ステータス情報保持レジスタ16−iを無効とする場合(プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとしない場合)には設定レジスタ17−iに “0”を書き込む。 The debugging device 11 writes “1” in the setting register 17-i when the status information holding register 16-i is validated (when the processor 12-i is a processor subject to simultaneous execution / resume control of debugging target program), When invalidating the status information holding register 16-i (when the processor 12-i is not a debug target program simultaneous execution restart control target processor), “0” is written to the setting register 17-i.
なお、本実施形態では、ステータス情報保持レジスタ16−0〜16−2の中の2個又は3個のステータス情報保持レジスタが有効とされる。即ち、プロセッサ12−0〜12−2のうち、2個又は3個のプロセッサがデバッグ対象プログラム同時実行再開制御対象プロセッサとされる。 In the present embodiment, two or three status information holding registers among the status information holding registers 16-0 to 16-2 are validated. That is, of the processors 12-0 to 12-2, two or three processors are set as debug target program simultaneous execution restart control target processors.
18はステータス情報保持レジスタ16−0〜16−2のうち、有効とされたステータス情報保持レジスタの値のみを入力し、有効とされたステータス情報保持レジスタの全てが“0”又は“1”の場合には“0”を出力し、有効とされたステータス情報保持レジスタの一部が“1”の場合には“1”を出力する演算部、19は演算部18の出力値を更新的に保持する停止フラグである。
18 is a status information holding register 16-0 to 16-2, in which only the value of the valid status information holding register is inputted, and all the valid status information holding registers are “0” or “1”. In this case, “0” is output, and when a part of the validated status information holding register is “1”, an arithmetic unit that outputs “1”, 19 is an update of the output value of the
ここに、停止フラグ19の値=“0”は、デバッグ対象プログラム同時実行再開制御対象プロセッサに対して、デバッグ対象プログラムの実行の許可を表示しており、停止フラグ19の値=“1”は、デバッグ対象プログラムの実行の禁止を表示している。なお、デバッグ制御プログラム14−0〜14−2については、停止フラグ19の値に関わらず、これを実行するとされている。
Here, the value of the
図2は本発明の第1実施形態のマルチプロセッサ装置10の動作例を示すタイムチャートであり、プロセッサ12−0〜12−2のステータス及び停止フラグ19の値を示している。なお、本動作例は、設定レジスタ17−0〜17−2に“1”が書き込まれた場合(プロセッサ12−0〜12−2の全てがデバッグ対象プログラム同時実行再開制御対象プロセッサとされた場合)を例にしている。
FIG. 2 is a time chart showing an operation example of the
本動作例では、プロセッサ12−0〜12−2は、時刻T1では、デバッグ対象プログラム13−0〜13−2を実行しており、ステータス情報保持レジスタ16−0〜16−2の値=“0”、停止フラグ19の値=“0”とされている。
In this operation example, the processors 12-0 to 12-2 are executing the debug target programs 13-0 to 13-2 at time T1, and the value of the status information holding registers 16-0 to 16-2 = “ 0 ”and the value of the
その後、時刻T2、T3、T4で、プロセッサ12−0、12−1、12−2は、それぞれブレークポイントに達し、デバッグ制御プログラム14−0、14−1、14−2の実行を開始している。この状態では、ステータス情報保持レジスタ16−0〜16−2の値=“0”、停止フラグ19の値=“0”が維持される。
Thereafter, at times T2, T3, and T4, the processors 12-0, 12-1, and 12-2 reach breakpoints, respectively, and start executing the debug control programs 14-0, 14-1, and 14-2. Yes. In this state, the value of the status information holding registers 16-0 to 16-2 = “0” and the value of the
その後、時刻T5で、プロセッサ12−0はデバッグ制御プログラム14−0の実行を終了している。この場合、プロセッサ12−0は、ステータス情報保持レジスタ16−0の値を“1”にし、この結果、停止フラグ19の値は“1”となる。ここに、プロセッサ12−0は、デバッグ対象プログラム13−0の実行(通常動作)を再開しようとするが、停止フラグ19の値=“1”であるから、デバッグ対象プログラム13−0の実行再開を保留することになる。
Thereafter, at time T5, the processor 12-0 finishes executing the debug control program 14-0. In this case, the processor 12-0 sets the value of the status information holding register 16-0 to “1”, and as a result, the value of the
その後、時刻T6で、プロセッサ12−1はデバッグ制御プログラム14−1の実行を終了している。この場合、プロセッサ12−1は、ステータス情報保持レジスタ16−1の値を“1”にし、停止フラグ19の値は“1”が維持される。ここに、プロセッサ12−1は、デバッグ対象プログラム13−1の実行(通常動作)を再開しようとするが、停止フラグ19の値=“1”であるから、デバッグ対象プログラム13−1の実行再開を保留することになる。
Thereafter, at time T6, the processor 12-1 finishes executing the debug control program 14-1. In this case, the processor 12-1 sets the value of the status information holding register 16-1 to “1”, and the value of the
その後、時刻T7で、プロセッサ12−2はデバッグ制御プログラム14−2の実行を終了している。この場合、プロセッサ12−2は、ステータス情報保持レジスタ16−2の値を“1”にし、停止フラグ19の値は“0”となる。この結果、プロセッサ12−0〜12−2は、停止フラグ19の値“0”を確認し、時刻T8で、デバッグ対象プログラム13−0〜13−2の実行(通常動作)再開を同時に行うことになる。
Thereafter, at time T7, the processor 12-2 finishes executing the debug control program 14-2. In this case, the processor 12-2 sets the value of the status information holding register 16-2 to “1”, and the value of the
以上のように、本発明の第1実施形態のマルチプロセッサ装置10によれば、ステータス情報保持装置15が備える停止フラグ19の値に基づいて、複数のデバッグ対象プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したデバッグ対象プログラムの実行再開を行うことができるようにされているので、複数のデバッグ対象プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したデバッグ対象プログラムの同時実行再開を1サイクルの誤差もなく容易に行うことができる。
As described above, according to the
(第2実施形態・・図3、図4)
図3は本発明の第2実施形態のマルチプロセッサ装置をプログラム実行制御装置とともに示す図である。図3中、20は本発明の第2実施形態のマルチプロセッサ装置、21はプログラム実行制御装置である。本発明の第2実施形態のマルチプロセッサ装置20は、その要部を概念的に示している。
(Second embodiment: FIGS. 3 and 4)
FIG. 3 is a diagram showing a multiprocessor device according to the second embodiment of the present invention together with a program execution control device. In FIG. 3, 20 is a multiprocessor device according to the second embodiment of the present invention, and 21 is a program execution control device. The
本発明の第2実施形態のマルチプロセッサ装置20において、22−iはプロセッサ、23−iはプロセッサ22−i用のアプリケーション・プログラム、24−iはプロセッサ22−i用のOS(オペレーティング・システム)、25はアプリケーション・プログラム実行制御用のステータス情報保持装置である。
In the
ステータス情報保持装置25において、26−iはプロセッサ22−iのステータス情報を保持するステータス情報保持レジスタであり、プロセッサ22−iは、アプリケーション・プログラム23−iを実行する場合(通常動作を行う場合)には、ステータス情報保持レジスタ26−iに“0”を書き込み、OS24−iの実行が終了した場合には、ステータス情報保持レジスタ26−iに“1”を書き込む。 In the status information holding device 25, 26-i is a status information holding register for holding the status information of the processor 22-i. The processor 22-i executes the application program 23-i (when performing normal operation). ), “0” is written into the status information holding register 26-i, and “1” is written into the status information holding register 26-i when the execution of the OS 24-i is completed.
27−iはステータス情報保持レジスタ26−iを有効とするか否かを設定することにより、プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとするか否かを設定する設定レジスタである。 27-i is a setting register that sets whether or not the processor 22-i is a processor subject to concurrent execution restart control by setting whether or not the status information holding register 26-i is valid. .
プログラム実行制御装置21は、ステータス情報保持レジスタ26−iを有効とする場合(プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとする場合)には設定レジスタ27−iに “1”を書き込み、ステータス情報保持レジスタ26−iを無効とする場合(プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとしない場合)には設定レジスタ27−iに “0”を書き込む。 The program execution control device 21 sets “1” to the setting register 27-i when the status information holding register 26-i is validated (when the processor 22-i is a processor subject to the application / program simultaneous execution restart control). When writing and disabling the status information holding register 26-i (when the processor 22-i is not a processor subject to concurrent execution restart control), “0” is written to the setting register 27-i.
なお、本実施形態では、ステータス情報保持レジスタ26−0〜26−2の中の2個又は3個のステータス情報保持レジスタが有効とされる。即ち、プロセッサ22−0〜22−2のうち、2個又は3個のプロセッサがアプリケーション・プログラム同時実行再開制御対象プロセッサとされる。 In the present embodiment, two or three status information holding registers among the status information holding registers 26-0 to 26-2 are validated. That is, of the processors 22-0 to 22-2, two or three processors are set as the application program concurrent execution restart control target processor.
28はステータス情報保持レジスタ26−0〜26−2のうち、有効とされたステータス情報保持レジスタの値のみを入力し、有効とされたステータス情報保持レジスタの全てが“0”又は“1”の場合には“0”を出力し、有効とされたステータス情報保持レジスタの一部が“1”の場合には“1”を出力する演算部、29は演算部28の出力値を更新的に保持する停止フラグである。
28, only the value of the valid status information holding register among the status information holding registers 26-0 to 26-2 is input, and all the valid status information holding registers are “0” or “1”. In this case, “0” is output, and when a part of the valid status information holding register is “1”, an arithmetic unit that outputs “1”, 29 is an update of the output value of the
ここに、停止フラグ29の値=“0”は、アプリケーション・プログラム同時実行再開制御対象プロセッサに対して、アプリケーション・プログラムの実行の許可を表示しており、停止フラグ29の値=“1”は、アプリケーション・プログラムの実行の禁止を表示している。なお、OS24−0〜24−2については、停止フラグ29の値に関わらず、これを実行するとされている。
Here, the value of the
図4は本発明の第2実施形態のマルチプロセッサ装置20の動作例を示すタイムチャートであり、プロセッサ22−0〜22−2のステータス及び停止フラグ29の値を示している。なお、本動作例は、設定レジスタ27−0〜27−2に“1”が書き込まれた場合(プロセッサ22−0〜22−2の全てがアプリケーション・プログラム同時実行再開制御対象プロセッサとされた場合)を例にしている。
FIG. 4 is a time chart showing an operation example of the
本動作例では、プロセッサ22−0〜22−2は、時刻T1では、アプリケーション・プログラム23−0〜23−2を実行しており、ステータス情報保持レジスタ26−0〜26−2の値=“0”、停止フラグ29の値=“0”とされている。
In this operation example, the processors 22-0 to 22-2 are executing the application programs 23-0 to 23-2 at time T1, and the value of the status information holding registers 26-0 to 26-2 = “ 0 ”and the value of the
その後、時刻T2、T3、T4で、プロセッサ22−0、22−1、22−2は、それぞれシステムコール/割り込みにより、OS24−0、24−1、24−2の実行を開始している。この状態では、ステータス情報保持レジスタ26−0〜26−2の値=“0”、停止フラグ29の値=“0”が維持される。
Thereafter, at times T2, T3, and T4, the processors 22-0, 22-1, and 22-2 respectively start executing the OSs 24-0, 24-1, and 24-2 by system calls / interrupts. In this state, the value of the status information holding registers 26-0 to 26-2 = "0" and the value of the
その後、時刻T5で、プロセッサ22−0はOS24−0の実行を終了している。この場合、プロセッサ22−0は、ステータス情報保持レジスタ26−0の値を“1”にし、この結果、停止フラグ29の値=“1”となる。ここに、プロセッサ22−0は、アプリケーション・プログラム23−0の実行(通常動作)を再開しようとするが、停止フラグ29の値は“1”であるから、アプリケーション・プログラム23−0の実行再開を保留することになる。
Thereafter, at time T5, the processor 22-0 finishes executing the OS 24-0. In this case, the processor 22-0 sets the value of the status information holding register 26-0 to “1”, and as a result, the value of the
その後、時刻T6で、プロセッサ22−1はOS24−1の実行を終了している。この場合、プロセッサ22−1は、ステータス情報保持レジスタ26−1の値を“1”にし、停止フラグ29の値は“1”が維持される。ここに、プロセッサ22−1は、アプリケーション・プログラム23−1の実行(通常動作)を再開しようとするが、停止フラグ29の値=“1”であるから、アプリケーション・プログラム23−1の実行再開を保留することになる。
Thereafter, at time T6, the processor 22-1 has finished executing the OS 24-1. In this case, the processor 22-1 sets the value of the status information holding register 26-1 to “1”, and the value of the
その後、時刻T7で、プロセッサ22−2はOS24−2の実行を終了している。この場合、プロセッサ22−2は、ステータス情報保持レジスタ26−2の値を“1”にし、停止フラグ29の値は“0”となる。この結果、プロセッサ22−0〜22−2は、停止フラグ29の値“0”を確認し、時刻T8で、アプリケーション・プログラム23−0〜23−2の実行(通常動作)再開を同時に行うことになる。
Thereafter, at time T7, the processor 22-2 has finished executing the OS 24-2. In this case, the processor 22-2 sets the value of the status information holding register 26-2 to “1”, and the value of the
以上のように、本発明の第2実施形態のマルチプロセッサ装置20によれば、ステータス情報保持装置25が備える停止フラグ29の値に基づいて、複数のアプリケーション・プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したアプリケーション・プログラムの実行再開を行うことができるようにされているので、複数のアプリケーション・プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したアプリケーション・プログラムの同時実行再開を1サイクルの誤差もなく容易に行うことができる。
As described above, according to the
なお、図1に示す本発明の第1実施形態のマルチプロセッサ装置10が備えるデバッグ実行制御用のステータス情報保持装置15を本発明の第2実施形態のマルチプロセッサ装置が備えるアプリケーション・プログラム実行制御用のステータス情報保持装置25として兼用することもできる。
The status
ここで、特許文献1には、複数のプロセッサの中の一つをデバッグ制御専用として使用し、ユーザからのコマンド等により、他のプロセッサの停止、再開等を制御する技術が記載されているが、本発明は、複数のプロセッサとは別にステータス情報保持装置を設け、複数のプロセッサの通常動作には影響を与えず、デバッグ機能を実現するものであり、特許文献1に記載の技術とは構成、動作を全く異にするものである。
Here,
また、特許文献2には、デバッグのためにプロセッサを停止させたい時に、プロセッサに入力しているクロックを停止させる技術が記載されているが、本発明は、クロックを停止させることなく、ステータス情報保持装置の制御によりデバッグを行うものであり、特許文献2に記載の技術とは構成、動作を全く異にしている。 Further, Patent Document 2 describes a technique for stopping a clock input to a processor when it is desired to stop the processor for debugging. However, the present invention provides status information without stopping the clock. The debugging is performed under the control of the holding device, and the configuration and operation are completely different from the technique described in Patent Document 2.
また、特許文献3には、デバッグ時、対象のプロセッサが独占的にバスを使用することにより、デバッグ中にプロセッサ間の共有情報を保持する技術が記載されているが、本発明は、バス動作でなく、プロセッサの働きを制御することによりデバッグを行うものであり、特許文献3に記載の技術とは構成、動作を全く異にしている。
10…本発明の第1実施形態のマルチプロセッサ装置
11…デバッグ装置
12−0〜12−2…プロセッサ
13−0〜13−2…デバッグ対象プログラム
14−0〜14−2…デバッグ制御プログラム
15…ステータス情報保持装置
16−0〜16−2…ステータス情報保持レジスタ
17−0〜17−2…設定レジスタ
18…演算部
19…停止フラグ
20…本発明の第2実施形態のマルチプロセッサ装置
21…プログラム実行制御装置
22−0〜22−2…プロセッサ
23−0〜23−2…アプリケーション・プログラム
24−0〜24−2…OS
25…ステータス情報保持装置
26−0〜26−2…ステータス情報保持レジスタ
27−0〜27−2…設定レジスタ
28…演算部
29…停止フラグ
DESCRIPTION OF
25 ... Status information holding device 26-0 to 26-2 ... Status information holding register 27-0 to 27-2 ... Setting
Claims (4)
前記複数のプロセッサの中の選択された複数のプロセッサのステータス情報を保持するステータス情報保持装置を有し、
前記ステータス情報保持装置が保持するステータス情報に基づいて、前記選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされていることを特徴とするマルチプロセッサ装置。 A multiprocessor device having a plurality of processors,
A status information holding device for holding status information of a plurality of processors selected from among the plurality of processors;
Based on status information held by the status information holding device, the plurality of selected processors can resume simultaneous execution of programs temporarily stopped from being executed. Processor device.
前記選択された複数のプロセッサは、前記表示手段の表示内容に従って、前記一時的に停止したプログラムの実行再開を行うことを特徴とする請求項1記載のマルチプロセッサ装置。 The status information holding device has display means for displaying permission / inhibition of execution restart of a program in which the selected plurality of processors are temporarily stopped from the status information of the selected plurality of processors,
2. The multiprocessor device according to claim 1, wherein the plurality of selected processors resume execution of the temporarily stopped program in accordance with display contents of the display means.
3. The multiprocessor device according to claim 1, wherein the program whose execution has been temporarily stopped is an application program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004259152A JP2006079142A (en) | 2004-09-07 | 2004-09-07 | Multiprocessor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004259152A JP2006079142A (en) | 2004-09-07 | 2004-09-07 | Multiprocessor device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006079142A true JP2006079142A (en) | 2006-03-23 |
Family
ID=36158586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004259152A Pending JP2006079142A (en) | 2004-09-07 | 2004-09-07 | Multiprocessor device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006079142A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009113273A1 (en) * | 2008-03-14 | 2009-09-17 | パナソニック株式会社 | Program execution device and method for controlling the same |
JP2012523616A (en) * | 2009-04-08 | 2012-10-04 | フリースケール セミコンダクター インコーポレイテッド | Debug signaling in multiprocessor data processing systems |
-
2004
- 2004-09-07 JP JP2004259152A patent/JP2006079142A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009113273A1 (en) * | 2008-03-14 | 2009-09-17 | パナソニック株式会社 | Program execution device and method for controlling the same |
JP5269067B2 (en) * | 2008-03-14 | 2013-08-21 | パナソニック株式会社 | Program execution device and control method thereof |
US8701089B2 (en) | 2008-03-14 | 2014-04-15 | Panasonic Corporation | Program execution device and method for controlling the same |
JP2012523616A (en) * | 2009-04-08 | 2012-10-04 | フリースケール セミコンダクター インコーポレイテッド | Debug signaling in multiprocessor data processing systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4222370B2 (en) | Program for causing a computer to execute a debugging support apparatus and a debugging processing method | |
US8327336B2 (en) | Enhanced thread stepping | |
JP3571976B2 (en) | Debugging apparatus and method, and program recording medium | |
JP3965142B2 (en) | Method, system and software product for debugging a computer program | |
CN109726135B (en) | Multi-core debugging method and device and computer readable storage medium | |
JPH02171934A (en) | Virtual machine system | |
KR102025078B1 (en) | Diagnosing code using single step execution | |
JP2006351008A (en) | Method for blocking thread upon dispatch of multithread processor, computer program, and device (minute multithread dispatch lock mechanism) | |
JP2010140240A (en) | Processor, multiprocessor and debugging method | |
US7761744B2 (en) | Debugging method | |
US7865883B1 (en) | Parallel and asynchronous debugger and debugging method for multi-threaded programs | |
JP2522158B2 (en) | Program debugging method for multiprocessor system | |
US8701089B2 (en) | Program execution device and method for controlling the same | |
JP2006079142A (en) | Multiprocessor device | |
JP6882320B2 (en) | Vector instruction processing | |
US11635966B2 (en) | Pausing execution of a first machine code instruction with injection of a second machine code instruction in a processor | |
JP2823230B2 (en) | How to continue processing | |
JP6726136B2 (en) | Data access device and access error notification method | |
US8914274B1 (en) | Method and system for instruction set simulation with concurrent attachment of multiple debuggers | |
JP2007316986A (en) | System lsi | |
JP2550708B2 (en) | Debug method | |
JP2004206699A (en) | Simulation device, simulation method, and program | |
JP2000181748A (en) | Debug system for multi-memory space program and its debug method | |
JPH0239332A (en) | Software break system | |
JP2011192024A (en) | Input/output control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090727 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100223 |