(57)【要約】  一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステムを提供する。第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムにおいて、前記第１プロセッサは、命令列中から実行対象となる命令を逐次特定し、特定した命令が処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該命令を実行するともに、デバッグモードが設定されているか否かを判別し、デバッグモードが設定されていると判断する場合に処理依頼命令を特定すると以降の命令の特定は停止し、前記通知をした後、前記第２プロセッサが前記通知に応じた処理を完了したことを検知すると命令の特定を再開する。
2013011620.tif 000002
【特許請求の範囲】
【請求項１】
第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムであって、
前記第１プロセッサは、
デバッグモードが設定されているか否かを判別する判別手段と、
命令列中から実行対象となる命令を逐次特定する特定手段と、
特定された命令が、処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、
前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、
前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
ことを特徴とするマルチプロセッサシステム。
【請求項２】
前記第２プロセッサは前記通知に応じた処理を実行中は、当該処理を実行中である旨を示す信号を前記第１プロセッサへ出力し、
前記検知手段は、前記第２プロセッサから前記信号が出力されている間は、前記第２プロセッサが前記通知に応じた処理を実行中であると判断し、当該信号が出力されなくなると前記通知に応じた処理が完了したと判断する
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記通知に応じた処理の完了とは、前記第２プロセッサが前記通知に応じた処理を実行するための命令流に含まれる全てのメモリアクセス命令のメモリへのアクセスが完了したことである
ことを特徴とする請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記判別手段は、さらに、
前記デバッグモードとは別のデバッグモードが、前記デバッグモードに代わって設定されているか否かを判別し、
前記判別手段で前記別のデバッグモードが設定されていると判別される場合、前記特定手段が前記処理依頼命令を特定すると、前記実行手段は前記検知手段により前記完了が検知されるまでの間に、前記第２プロセッサに対する次の処理依頼命令の出現までに存在する命令を実行、又は前記次の処理依頼命令の出現までに存在する命令及び前記次の処理依頼命令の後続に位置し、且つ前記次の処理依頼命令に依存しない命令を実行し、前記検知手段により前記完了が検知されると当該次の処理依頼命令に基づく通知を前記第２プロセッサに対して行う
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項５】
前記第１プロセッサは、さらに、
前記判別手段でデバッグモードが設定されていないと判別する場合において、前記特定手段に処理依頼命令を特定すると以降の命令の特定を停止させ、前記完了が検知されると命令の特定を再開するよう制御する制御手段を備える
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項６】
前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のデコード処理を行うためのものであり、
前記マルチプロセッサシステムは、
画像のデコード処理を行う画像処理装置に備えられる
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項７】
前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のエンコード処理を行うためのものであり、
前記マルチプロセッサシステムは、
画像のエンコード処理を行う画像処理装置に備えられる
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項８】
判別手段、特定手段、実行手段及び検知手段を備える第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムで用いられる処理方法であって、
前記判別手段が、デバッグモードが設定されているか否かを判別する判別ステップと、
前記特定手段が、命令列中から実行対象となる命令を逐次特定する特定ステップと、
前記実行手段が、特定された命令が処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行ステップと、
前記検知手段が、前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知ステップとを含み、
前記特定ステップは、前記判別ステップでデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
ことを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインプロセッサとコプロセッサを備えるマルチプロセッサシステムにおいて、ソフトウェアデバッグ効率を向上させる技術に関する。
【背景技術】
【０００２】
デジタル化された映像データや、音声データなどの圧縮、伸張等を行うメディア処理は非常に演算量が大きい。このため、メディア処理を行うための専用ハードウェアや高性能なＤＳＰ（Digital Signal Processor）などが普及している。【０００３】
このようなメディア処理について、ＭＰＥＧ（Moving Picture Experts Group）−２、ＭＰＥＧ−４、Ｈ．２６３、Ｈ．２６４等、非常に多数の規格が実用化されている。このため、デジタルＡＶ（Audio-Visual）機器は、複数の規格のメディア処理に対応することが要求されている。さらに、各メディア処理アプリケーションの複雑度は上昇しており、画像サイズ、音声のチャネル数等も増加する傾向にあり、演算量は増大の一歩をたどっている。【０００４】
そこで、特定の演算に特化したコプロセッサを備えることにより演算効率を大幅に向上させた、高性能なプロセッサを用いることにより、性能向上を図っている。【０００５】
コプロセッサを備えるマルチプロセッサシステムでは、メインプロセッサでの処理とコプロセッサでの処理間で、ソフトウェア上のデータ依存性及び、使用するハードウェアリソースに競合が無い場合、それらの処理を同時に実行することにより、より性能向上を図ることが可能である。【０００６】
例えば、特許文献１には、実行モードを設定することによって、メインプロセッサとコプロセッサ（ＦＰＵ：Ｆｌｏａｔｉｎｇ  Ｐｏｉｎｔ  ｎｕｍｂｅｒ  ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）それぞれの命令実行動作が変化する構成が開示されている。この特許文献１によると、メインプロセッサとコプロセッサ（ＦＰＵ）の命令実行モード(シリアル・スカラ)を統一させ、浮動小数点命令(コプロセッサに相当)の実行時に、メインプロセッサの命令実行モードをコプロセッサ（ＦＰＵ）側にあわせるという制御を行っている。これにより、メインプロセッサとコプロセッサとの処理を同時に行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７-３１９６９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の技術では、メインプロセッサ側の命令実行モードがコプロセッサ側の動作に同期させることで、動作を単純化し性能を向上させることができるが、その反面、メインプロセッサ及びコプロセッサについてのソフトウェアデバッグ効率が下がってしまうという問題がある。【０００９】
そこで、本発明は、一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムであって、前記第１プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
【発明の効果】
【００１１】
上記構成によると、マルチプロセッサシステムは、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、マルチプロセッサは、処理依頼命令を特定後において、以降の命令の特定を停止することで、第２プロセッサが処理する命令と、処理依頼命令の特定後以降の命令とは並列に発行されないので、効率的にデバッグすることができる。
【図面の簡単な説明】
【００１２】
【図１】マルチプロセッサシステム１０の構成を示す図である。
【図２】発行命令決定処理を示す流れ図である。
【図３】通常モードの場合におけるメインプロセッサ１１とコプロセッサ１２との処理を説明する図である。
【図４】デバッグモードの場合におけるメインプロセッサ１１とコプロセッサ１２との処理を説明する図である。
【図５】マルチプロセッサシステム１０００の構成を示す図である。
【図６】発行命令決定処理を示す流れ図である。
【図７】第２のデバッグモードの場合におけるメインプロセッサ１００１とコプロセッサ１００２との処理を説明する図である。
【図８】マルチプロセッサシステム１０を用いたデコード処理を説明する図である。
【図９】マルチプロセッサシステム１０を用いたエンコード処理を説明する図である。
【発明を実施するための形態】
【００１３】
（本発明の基礎となった知見）
上記特許文献１で開示された技術は、上述したように、メインプロセッサ側の命令実行モードがコプロセッサ側の動作に同期させることで、動作を単純化し性能を向上させることができる。
【００１４】
しかしながら、上記特許文献１で開示された技術では、メインプロセッサ及びコプロセッサについてのソフトウェアデバッグ効率が下がってしまう。例えば、コプロセッサ側のソフトウェアが、メインプロセッサが使用するメモリ領域の一部分を誤って破壊してしまっていた場合、同時にメインプロセッサとコプロセッサとが並列に実行していることで障害原因となるプログラムの切り分けが困難となる。そのため、その不具合は、ソフトウェアのうちメインプロセッサが実行している命令列による不具合なのか、コプロセッサが実行している命令列による不具合なのか、つまりはメインプロセッサ側のソフトウェアが持つソフトウェア不具合なのか、コプロセッサ側のソフトウェアが持つソフトウェア不具合なのかが不明となってしまう。
【００１５】
そこで、発明者が鋭意検討し、一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステムを見出し、発明に至った。
【００１６】
本発明の一態様である、第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムは、前記第１プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
【００１７】
１．第１の実施の形態
以下、本発明に係る第１の実施の形態について、図面を参照しながら説明する。
【００１８】
１．１  構成
図１は、第１の実施の形態におけるマルチプロセッサシステム１０の構成を示すブロック図である。
【００１９】
マルチプロセッサシステム１０は、図１に示すように、メインプロセッサ１１とコプロセッサ１２とから構成されている。マルチプロセッサシステム１０において、デバッグモードが設定されていない状態、つまり通常モードの状態である場合には、メインプロセッサ１１とコプロセッサ１２とは、並列に処理を行う。デバッグモードが設定されている場合には、並列処理は行わない。
【００２０】
（１）メインプロセッサ１１について
メインプロセッサ１１は、図１に示すように、命令メモリ１０１、命令フェッチ制御部１０２、命令群決定部１０３、命令バッファ１０４、発行命令決定部１０５、レジスタファイル１０６、演算器群１０７、データメモリ１０９、ライトバックバス１１０、及びデバッグモード判別部１１１から構成されている。
【００２１】
（１−１）命令メモリ１０１
命令メモリ１０１は、メインプロセッサ１１において実行される命令を保持するメモリであり、複数の命令の組み合わせからなる命令流を保持している。
【００２２】
（１−２）命令フェッチ制御部１０２
命令フェッチ制御部１０２は、プログラムカウンタ（ＰＣ）を保持し、次に実行する命令を命令メモリから読み出すとともに、プログラムカウンタ値を次読み出し命令の値に更新する。
【００２３】
また、命令フェッチ制御部１０２は、演算器群１０７から、分岐命令実行や、及び例外発生に相当する特殊処理ベクタへの分岐処理要求を受け取り、読み出しプログラムカウンタの制御を行う。
【００２４】
（１−３）命令群決定部１０３
命令群決定部１０３は、命令メモリ１０１から、命令流に属する命令を読み出し、デコードを行い、命令バッファ１０４に書き込む。
【００２５】
（１−４）命令バッファ１０４
命令バッファ１０４は、命令流に属する命令を受け取り、保持するものである。
【００２６】
（１−５）デバッグモード判別部１１１
デバッグモード判別部１１１は、デバッグモードが設定されているか否かを判別するものである。
【００２７】
具体的には、デバッグモード判別部１１１は、デバッグモード指定レジスタを保持し、その値によってデバッグモードか否かを判別し、その結果を発行命令決定部１０５へ通知する。ここで、デバッグモード指定レジスタは、ソフトウェアによって設定される制御レジスタである。
【００２８】
（１−６）発行命令決定部１０５
発行命令決定部１０５は、命令バッファ１０４からマシンサイクル毎に発行すべき命令を決定し、決定した命令に応じて、メインプロセッサ１１内で命令の実行及びコプロセッサ１２へ処理依頼を行う。
【００２９】
発行命令決定部１０５は、図１に示すように、命令特定部２０１、命令実行部２０２及び検知部２０３を有している。
【００３０】
命令特定部２０１は、命令バッファ１０４からマシンサイクル毎に発行すべき命令を特定するものである。命令特定部２０１は、デバッグモード判別部１１１でデバッグモードが設定されていると判断する場合において、コプロセッサ１２が処理実行中であるときには、発行すべき命令の特定を中止し、コプロセッサ１２の処理が完了すると命令の特定を再開する。
【００３１】
命令実行部２０２は、命令特定部２０１で特定された命令がコプロセッサ１２への処理依頼命令である場合にはコプロセッサ１２に対して当該処理依頼に基づく通知（以降、起動命令という。）を行う。また、命令実行部２０２は、特定された命令がコプロセッサ１２への処理依頼命令以外の命令である場合には当該命令の実行、つまり演算群に対して当該命令に基づく処理を行わせる。
【００３２】
検知部２０３は、デバッグモード判別部１１１でデバッグモードが設定されていると判断する場合において、コプロセッサ１２での処理完了を検知するものである。具体的には、検知部２０３は、コプロセッサ１２から出力される信号（例えば、ビジー信号）を受信している間はコプロセッサ１２は処理実行中であると判断し、ビジー信号を受信しなくなると、処理が完了したと判断する。
【００３３】
（１−７）レジスタファイル１０６
レジスタファイル１０６は、命令バッファ１０４に保持された命令流を実行することによって、読み出し及び書き込みの対象とされるデータを保持するレジスタ群である。
【００３４】
（１−８）演算器群１０７
演算器群１０７は、加算器や乗算器などの複数の演算器１０７ａ、１０７ｂ、１０７ｃを含む処理部であり、図１に示すように、メモリアクセス部１０８をも有している。
【００３５】
ここで、メモリアクセス部１０８は、データメモリ１０９とアクセスする命令を実行するための演算器である。
【００３６】
（１−９）ライトバックバス１１０
ライトバックバス１１０は、演算器群１０７からの出力をレジスタファイル１０６に書き戻すためのバスである。
【００３７】
（１−１０）データメモリ１０９
データメモリ１０９は、当該メモリとアクセスする命令によってアクセスされ、プログラムを実行する際のデータを保持している。
【００３８】
（２）コプロセッサ１２について
コプロセッサ１２は、図１に示すように、命令処理部１２１、レジスタファイル１２２、演算器群１２３、データメモリ１２５と、ライトバックバス１２６とから構成されている。
【００３９】
（２−１）命令処理部１２１
命令処理部１２１は、発行命令決定部１０５から、起動命令を受け取ることによって、コプロセッサ命令流を起動し、実行する。
【００４０】
命令処理部１２１は、メインプロセッサ１１の命令流とは独立した、複数のコプロセッサ命令流を記憶しており、メインプロセッサ１１からの起動命令は、いずれの命令流を実行するかを指定する情報を含んでいる。例えば、起動命令の中に、３ビットの指定情報を持った場合、８種類のコプロセッサ命令流の中から１つを指定することができる。
【００４１】
命令処理部１２１は、起動されたコプロセッサ命令流の実行中は、メインプロセッサ１１の発行命令決定部１０５に対してビジー信号を出力する。起動されたコプロセッサ命令流の実行が完了すると、ビジー信号の出力を停止する。ここで、コプロセッサ命令流には、命令流の終端を示す命令が含まれており、順次実行した結果、終端を示す命令に達するとコプロセッサ処理の完了として扱う。
【００４２】
（２−２）レジスタファイル１２２
レジスタファイル１２２は、コプロセッサ命令流を実行することによって、読み出し及び書き込みの対象とされるデータを保持するレジスタ群である。
【００４３】
（２−３）演算器群１２３
演算器群１２３は、コプロセッサ命令流によって用いられる加算器や乗算器などの複数の演算器を含む処理部である。
【００４４】
また、演算器群１２３は、図１に示すように、メモリアクセス部１２４をも有している。ここで、メモリアクセス部１２４は、データメモリとアクセスする命令を実行するための演算器である。
【００４５】
（２−４）ライトバックバス１２６
ライトバックバス１２６は、演算器群１２３からの出力をレジスタファイル１２２に書き戻すためのバスである。
【００４６】
（２−５）データメモリ１２５
データメモリ１２５は、当該メモリとアクセスする命令によってアクセスされ、プログラムを実行する際のデータを保持している。
【００４７】
１．２  動作
ここでは、発行命令決定部１０５があるサイクルに発行する命令を確定する処理について、図２に示す流れ図を用いて説明する。あるサイクルに発行する命令を確定する処理とは、命令バッファ１０４内に蓄積された命令の中から、演算器群１０７に渡すことによって実行する命令を確定させる動作である。
【００４８】
命令特定部２０１は、命令バッファ１０４内に、発行可能な命令が存在するかを確認する（ステップＳ５）。ここで、発行可能な命令には、命令バッファ１０４内で、バリッド信号が付与されている。バリッド信号が付与された命令が存在しないケースは、分岐やメモリアクセスレイテンシ等の要因で、命令供給が間に合っていないケースが主である。また、命令は供給されているが、先行命令とのデータ依存が解決されていないためにバリッド信号が付与されていないケースも考えられる。
【００４９】
命令バッファ１０４にバリッド信号が付与された命令が存在する場合（ステップＳ５における「Ｙｅｓ」）は、命令特定部２０１は、デバッグモード設定がされているかどうかを確認する（ステップＳ１０）。デバッグモードが設定されているか否かは、デバッグモード判別部１１１による判別結果に基づいて行われる。
【００５０】
デバッグモードが設定されていると判断する場合（ステップＳ１０における「Ｙｅｓ」）、検知部２０３がコプロセッサが実行中であるかどうかを確認する（ステップＳ１５）。  コプロセッサが実行中かどうかは、命令処理部１２１から出力されるビジー信号の受信の有無に基づいて行われる。
【００５１】
コプロセッサが実行中である場合（ステップＳ１５における「Ｙｅｓ」）は、命令特定部２０１は、当該サイクルの命令発行無し、と決定し（ステップＳ２０）、処理はステップＳ５へ戻る。
【００５２】
命令バッファ１０４にバリッド信号が付与された命令が存在しない場合（ステップＳ５における「Ｎｏ」）、命令特定部２０１の動作は、ステップＳ２０に遷移する。
【００５３】
デバッグモード設定がなされていないと判断する場合（ステップＳ１０における「Ｎｏ」）、及びコプロセッサが実行中でないと判断する場合（ステップＳ１５における「Ｎｏ」）、命令特定部２０１は、当該サイクルの命令発行有りと決定し（ステップＳ２５）、処理は、ステップＳ５へ戻る。
【００５４】
１．３  具体例
ここでは、通常モードの場合と、デバッグモードが設定されている場合とについて、メインプロセッサ１１及びコプロセッサ１２の処理について説明する。
【００５５】
まず通常モードの場合について図３を用いて説明する。
【００５６】
通常モードの場合には、メインプロセッサ１１が命令流の命令を実行中において（ｔ５）、処理依頼命令に基づいてコプロセッサ１２へ通知を行う（ｔ１０）。コプロセッサ１２では、通知を受け取ると、動作が起動される（ｔ１５）。また、同時にメインプロセッサ１１では、通常モード時にはコプロセッサ処理とメインプロセッサ処理に依存関係が無いので、後続の処理を続けて実行する（ｔ２０）。
【００５７】
次にデバッグモード時について図４を用いて説明する。
【００５８】
デバッグモードが設定されている場合、メインプロセッサ１１が命令流の命令を実行中において（ｔ５０）、処理依頼命令に基づいてコプロセッサ１２へ通知を行う（ｔ５５）。コプロセッサ１２では、通知を受け取ると、動作が起動される（ｔ６０）。このとき、コプロセッサ１２はｔ６０において動作がなされている間は、メインプロセッサ１１に対してビジー信号を出力する。メインプロセッサ１１においては、ビジー信号を受け取っている間は、処理は実行しない。その後、コプロセッサ１２において動作が完了するとビジー信号の出力を中止する（ｔ６５）。メインプロセッサ１１は、コプロセッサ１２の動作完了を検知すると、処理を再開する（ｔ７０）。
【００５９】
これにより、デバッグモードが設定されている場合には、コプロセッサの処理が開始されると、メインプロセッサ１１においては、後続の処理は実行されず、コプロセッサが動作中の期間は排他動作が保証される。また、一連の動作の中で、デバッグモード時におけるメインプロセッサ１１内の命令単位の並列性を用いた動作と、コプロセッサ１２内の命令単位の並列性を用いた動作は、プログラマが最終的に意図したもの（非デバッグモード動作）とほぼ同等である。
【００６０】
１．４  まとめ
以上により、本実施の形態で示すマルチプロセッサシステム１０は、デバッグモードの設定に基づいて、コプロセッサ１２における命令の実行をメインプロセッサ１１と並列に行う、メインプロセッサ１１の実行と排他にするという切り替えを行うことができる。
【００６１】
本実施の形態により、高性能なコプロセッサつきのプロセッサにおけるデバッグ時の要因切り分けを、ソフトウェアの改変無しに、容易に行うことができる。
【００６２】
２．第２の実施の形態
以下、本発明に係る第２の実施の形態について、図面を参照しながら説明する。
【００６３】
２．１  構成
図５は、第２の実施の形態におけるマルチプロセッサシステム１０００の構成を示すブロック図である。
【００６４】
マルチプロセッサシステム１０００は、第１の実施の形態で示すデバッグモード（以下、「第１のデバッグモード」という。）での機能に加えて、第２のデバッグモードの機能を有している。
【００６５】
以下においては、第２のデバッグモードについての機能説明を行う。また、第１の実施の形態で示す機能要素と同一の機能要素については、同じ符号を付する。
【００６６】
マルチプロセッサシステム１０００は、図５に示すように、メインプロセッサ１００１とコプロセッサ１００２とから構成されている。マルチプロセッサシステム１０００において、デバッグモードが設定されていない状態、つまり通常モードの状態である場合には、第１の実施の形態と同様にメインプロセッサ１００１とコプロセッサ１００２とは、並列に処理を行う。第１のデバッグモードが設定されている場合には、並列処理は行わない。また、第２のデバッグモードが設定されている場合には、メインプロセッサ１００１とコプロセッサ１００２とは並列処理を行うが、コプロセッサ１００２において、異なる命令流、つまり異なる処理依頼の通知に基づく処理については、並列に処理をしない。
【００６７】
（１）メインプロセッサ１００１について
メインプロセッサ１００１は、図５に示すように、命令メモリ１０１、命令フェッチ制御部１０２、命令群決定部１０３、命令バッファ１０４、発行命令決定部１１０５、レジスタファイル１０６、演算器群１０７、データメモリ１０９、ライトバックバス１１０、及びデバッグモード判別部１１１１から構成されている。
【００６８】
以下、発行命令決定部１１０５及びデバッグモード判別部１１１１の機能について説明する。
【００６９】
（１−１）デバッグモード判別部１１１１
デバッグモード判別部１１１１は、デバッグモードが設定されているか否かを判別するものである。また、デバッグモードが設定されている場合には、第１デバッグモードであるか第２のデバッグモードであるかを判別する。
【００７０】
具体的には、デバッグモード判別部１１１は、デバッグモード指定レジスタを保持し、その値により第１のデバッグモードが設定されているか、第２のデバッグモードが設定されているか、何れのデバッグモードも設定されていないのかを判別し、その結果を発行命令決定部１０５へ通知する。ここで、デバッグモード指定レジスタは、ソフトウェアによって設定される制御レジスタである。
【００７１】
（１−２）発行命令決定部１１０５
発行命令決定部１１０５は、命令バッファ１０４からマシンサイクル毎に発行すべき命令を決定し、決定した命令に応じて、メインプロセッサ１００１内で命令の実行及びコプロセッサ１００２へ処理依頼を行う。
【００７２】
発行命令決定部１１０５は、図５に示すように、命令特定部１２０１、命令実行部１２０２及び検知部１２０３を有している。
【００７３】
命令特定部１２０１は、命令バッファ１０４からマシンサイクル毎に発行すべき命令を特定するものである。命令特定部１２０１は、デバッグモード判別部１１１１で第１のデバッグモードが設定されていると判断する場合においては、上記第１の実施の形態と同様の動作を行う。
【００７４】
デバッグモード判別部１１１１で第２のデバッグモードが設定されていると判断する場合には、命令特定部１２０１は、次に発行すべき命令がコプロセッサへの処理依頼命令であって、コプロセッサ１００２が処理実行中であるときには、発行すべき命令の特定を中止し、コプロセッサ１２の処理が完了すると命令の特定を再開する。
【００７５】
命令実行部１２０２は、命令特定部１２０１で特定された命令がコプロセッサ１２への処理依頼命令である場合にはコプロセッサ１００２に対して起動命令の通知を行う。また、命令実行部２０２は、特定された命令がコプロセッサ１２への処理依頼命令以外の命令である場合には当該命令の実行、つまり演算群に対して当該命令に基づく処理を行わせる。
【００７６】
検知部１２０３は、デバッグモード判別部１１１で第１のデバッグモードが設定されている、又は第２のデバッグモードが設定されていると判断する場合において、コプロセッサ１２での処理完了を検知するものである。具体的には、検知部２０３は、コプロセッサ１２から出力される信号（例えば、ビジー信号）を受信している間はコプロセッサ１２は処理実行中であると判断し、ビジー信号を受信しなくなると、処理が完了したと判断する。
【００７７】
２．２  動作
ここでは、発行命令決定部１１０５があるサイクルに発行する命令を確定する処理について、図６に示す流れ図を用いて説明する。あるサイクルに発行する命令を確定する処理とは、命令バッファ１０４内に蓄積された命令の中から、演算器群１０７に渡すことによって実行する命令を確定させる動作である。
【００７８】
命令特定部１２０１は、命令バッファ１０４内に、発行可能な命令が存在するかを確認する（ステップＳ１００）。ここで、発行可能な命令には、命令バッファ１０４内で、バリッド信号が付与されている。バリッド信号が付与された命令が存在しないケースは、分岐やメモリアクセスレイテンシ等の要因で、命令供給が間に合っていないケースが主である。また、命令は供給されているが、先行命令とのデータ依存が解決されていないためにバリッド信号が付与されていないケースも考えられる。
【００７９】
命令バッファ１０４にバリッド信号が付与された命令が存在する場合（ステップＳ１００における「Ｙｅｓ」）は、命令特定部１２０１は、第１のデバッグモード設定がされているかどうかを確認する（ステップＳ１０５）。第１のデバッグモードが設定されているか否かは、デバッグモード判別部１１１１による判別結果に基づいて行われる。
【００８０】
第１のデバッグモードが設定されていると判断する場合（ステップＳ１０５における「Ｙｅｓ」）、検知部１２０３がコプロセッサが実行中であるかどうかを確認する（ステップＳ１１０）。  コプロセッサが実行中かどうかは、命令処理部１２１から出力されるビジー信号の受信の有無に基づいて行われる。
【００８１】
コプロセッサが実行中である場合（ステップＳ１１０における「Ｙｅｓ」）は、命令特定部１２０１は、当該サイクルの命令発行無し、と決定し（ステップＳ１３０）、処理はステップＳ１００へ戻る。
【００８２】
コプロセッサが実行中でないと判断する場合（ステップＳ１１０における「Ｎｏ」）、命令特定部１２０１は、当該サイクルの命令発行有りと決定し（ステップＳ１３５）、処理は、ステップＳ１００へ戻る。
【００８３】
命令バッファ１０４にバリッド信号が付与された命令が存在しない場合（ステップＳ１００における「Ｎｏ」）、命令特定部１２０１の動作は、ステップＳ１３５に遷移する。
【００８４】
第１のデバッグモード設定がなされていないと判断する場合（ステップＳ１０５における「Ｎｏ」）、命令特定部１２０１は、第２のデバッグモードが設定されているか否かを判断する（ステップＳ１２０）。第２のデバッグモードが設定されているか否かは、デバッグモード判別部１１１１による判別結果に基づいて行われる。
【００８５】
第２のデバッグモードが設定されていると判断する場合（ステップＳ１１５における「Ｙｅｓ」）、命令特定部１２０１は、発行すべき命令がコプロセッサ１００２への処理依頼命令であるか否かを判断する（ステップＳ１２０）。
【００８６】
命令特定部１２０１で発行すべき命令がコプロセッサ１００２への処理依頼命令であると判断される場合（ステップＳ１２０における「Ｙｅｓ」）、検知部１２０３がコプロセッサが実行中であるかどうかを確認する（ステップＳ１２５）。  コプロセッサが実行中かどうかは、命令処理部１２１から出力されるビジー信号の受信の有無に基づいて行われる。
【００８７】
コプロセッサが実行中である場合（ステップＳ１２５における「Ｙｅｓ」）は、命令特定部１２０１は、当該サイクルの命令発行無し、と決定し（ステップＳ１３０）、処理はステップＳ１００へ戻る。
【００８８】
コプロセッサが実行中でないと判断する場合（ステップＳ１２５における「Ｎｏ」）、命令特定部１２０１は、当該サイクルの命令発行有りと決定し（ステップＳ１３５）、処理は、ステップＳ１００へ戻る。
【００８９】
２．３  具体例
ここでは、第２のデバッグモードが設定されている場合とについて、メインプロセッサ１１及びコプロセッサ１２の処理について、図７を用いて説明する。なお、通常モードの場合と、第１のデバッグモードが設定されている場合については、第１の実施の形態で示す図３、４と同様でるので、個々での説明は省略する。
【００９０】
第２デバッグモードが設定されている場合、メインプロセッサ１００１が命令流の命令を実行中において（ｔ１００）、処理依頼命令に基づいてコプロセッサ１００２へ通知を行う（ｔ１０５５）。この場合、コプロセッサ１００２は実行されていないので、通知が行われる。
【００９１】
コプロセッサ１２では、通知を受け取ると、動作が起動される（ｔ１１０）。このとき、コプロセッサ１００２はｔ１１０において動作がなされている間は、メインプロセッサ１００１に対してビジー信号を出力する。
【００９２】
メインプロセッサ１００１は、コプロセッサ１００２が実行中（ｔ１１０）であっても、発行すべき命令が処理依頼命令でない場合には、処理を続行する（ｔ１１５）。そして、発行すべき命令が処理依頼命令であって、ビジー信号を受け取っている間は、メインプロセッサ１００１は、処理を実行しない（ｔ１２０）。その後、コプロセッサ１００２において動作が完了するとビジー信号の出力を中止する（ｔ１２５）。メインプロセッサ１００１は、コプロセッサ１２の動作完了を検知すると、処理を再開、つまり処理依頼命令を発行する（ｔ１３０）。
【００９３】
その後、コプロセッサ１００２では、通知を受け取ると、動作が起動される（ｔ１３５）。メインプロセッサ１００１では、コプロセッサ１００２が実行中（ｔ１３５）であっても、発行すべき命令が処理依頼命令でない場合には、処理が続行される（ｔ１４０）。
【００９４】
３．第３の実施の形態
ここでは、本発明に係る第３の実施の形態として、第１の実施の形態で示すマルチプロセッサを用いた適用例について説明する。
【００９５】
図８に示すマルチプロセッサシステム１５０１は、デジタルＡＶ機器向けのシステムＬＳＩ映像のデコード処理を行うものである。
【００９６】
例えば、Ｈ．２６４等の規格を用いて圧縮された映像信号をデコードするためには、ビットストリームの解析・可変長符号化された信号の可変長復号処理（ＶＬＤ）・逆量子化及び逆周波数変換（ＩＱＴ）・動き補償（ＭＣ）・画像の再構成（Ｒｅｃｏｎ）・デブロックフィルタ処理（ＤＢＦ）を行う必要がある。
【００９７】
この中で逆量子化及び逆周波数変換（ＩＱＴ）・動き補償（ＭＣ）・画像の再構成（Ｒｅｃｏｎ）・デブロックフィルタ処理（ＤＢＦ）は（処理群１５０５を参照）、データ並列性を活用した処理が可能であり、特殊な演算器を用いたコプロセッサ処理に適しているため、これらの処理をコプロセッサ１５０３での処理として実行することにより、高性能なデコード処理を実現することができる。
【００９８】
さらに、例えば、マクロブロック単位でパイプラインを組み、メインプロセッサ１５０２での可変長復号処理（ＶＬＤ）処理１５０４と、コプロセッサでの処理群１５０５を並列に行うことによってさらに高性能化することができる。
【００９９】
この場合に、第１の実施の形態で述べたデバッグモード機能を用いることによって、効率的なデバッグを実現することが可能となる。
【０１００】
図９に示すマルチプロセッサシステム１６０１は、デジタルＡＶ機器向けのシステムＬＳＩ映像のエンコード処理を行うものである。
【０１０１】
マクロブロックのエンコード処理には、通常、符号化対象の画像データに対する予測誤差を算出する動き推定処理、予測誤差に対して周波数変換及び量子化を行う量子化処理、量子化ＤＣＴ係数及び動きベクトルを可変長符号化する符号化処理、参照画像の生成に係る処理、動き補償に係る処理が含まれる。
【０１０２】
この中で符号化対象の画像データに対する予測誤差を算出する動き推定処理、予測誤差に対して周波数変換及び量子化を行う量子化処理、参照画像の生成に係る処理、動き補償は（処理群１６０５を参照）、データ並列性を活用した処理が可能であり、特殊な演算器を用いたコプロセッサ処理に適しているため、これらの処理をコプロセッサ１６０３の処理として実行することにより、高性能なデコード処理を実現することができる。
【０１０３】
さらに、例えば、マクロブロック単位でパイプラインを組み、メインプロセッサ１６０２での量子化ＤＣＴ係数及び動きベクトルを可変長符号化する符号化処理１６０４とコプロセッサ１６０３での処理群１６０５を並列に行うことによってさらに高性能化することができる。
【０１０４】
この場合に、第１の実施の形態で述べたデバッグモード機能を用いることによって、効率的なデバッグを実現することが可能となる。
【０１０５】
４．変形例
以上、各実施の形態に基づいて説明したが、本発明は上記の各実施の形態に限られない。例えば、以下のような変形例が考えられる。
【０１０６】
（１）上記各実施の形態において、メインプロセッサは、コプロセッサが処理実行中か否かの判断に、コプロセッサから処理実行中に出力されるビジー信号を用いたが、これに限定されない。
【０１０７】
コプロセッサは起動されたコプロセッサ命令流の実行が完了すると、発行命令決定部１０５に対してコプロセッサ処理が完了したことを通知し、メインプロセッサは、メインプロセッサは当該通知を受け取ることで、コプロセッサの処理完了を検知してもよい。
【０１０８】
コプロセッサによるメモリアクセスの完了を当該コプロセッサの処理完了とみなしてもよい。例えば、コプロセッサの命令流内でメモリアクセスを使用した、データメモリに対するメモリアクセスが行われた場合、メモリへの読み出し又は書き込みアクセスの完了は、プロセッサ内の命令実行に対して遅延することがある。このような場合、メモリアクセスの完了をコプロセッサ処理の完了とすることで、例えば、意図しないメモリアクセスのアドレス一致による不具合を検出することが可能となる。
【０１０９】
（２）第１の実施の形態において、非デバッグモード動作時においても、コプロセッサ起動命令の後続のメインプロセッサ命令を、コプロセッサ起動命令と同時発行しないよう制約してもよい。これにより、デバッグモードにおけるメインプロセッサ内の命令単位の並列性を用いた動作と、コプロセッサ内の命令単位の並列性を用いた動作は、プログラマが最終的に意図したもの（非デバッグモード動作）と完全に一致させることができる。
【０１１０】
（３）上記第２実施の形態において、マルチプロセッサシステム１０００は、ｏｕｔ−ｏｆ−order実行を許容するものであってもよい。
【０１１１】
この場合、プログラムカウンタと異なる順番で命令が実行されることが許されるため、次の通知されるべき処理依頼命令の後続命令であっても、当該次に通知されるべき処理依頼命令に依存が無い場合、当該後続命令を先に実行することが可能となる。
【０１１２】
（４）上記の実施の形態で説明した手法の手順を記述したプログラムをメモリに記憶しておき、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などがメモリからプログラムを読み出して、読み出したプログラムを実行することによって、上記の手法が実現されるようにしてもよい。
【０１１３】
また、当該手法の手順を記述したプログラムを記録媒体に格納して、頒布するようにしてもよい。
【０１１４】
（５）上記の実施の形態におけるマルチプロセッサシステムの各構成要素は、ハードウェア資源（プロセッサとメモリ上のプログラムとの協働）により実現される。
【０１１５】
（６）上記実施の形態及び変形例を組み合わせるとしてもよい。
【０１１６】
５．補足
（１）本発明の一実施態様である、第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムにおいて、前記第１プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
【０１１７】
この構成によると、マルチプロセッサシステムは、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、マルチプロセッサは、処理依頼命令を特定後において、以降の命令の特定を停止することで、第２プロセッサが処理する命令と、処理依頼命令の特定後以降の命令とは並列に発行されないので、効率的にデバッグすることができる。
【０１１８】
（２）ここで、前記第２プロセッサは前記通知に応じた処理を実行中は、当該処理を実行中である旨を示す信号を前記第１プロセッサへ出力し、前記検知手段は、前記第２プロセッサから前記信号が出力されている間は、前記第２プロセッサが前記通知に応じた処理を実行中であると判断し、当該信号が出力されなくなると前記通知に応じた処理が完了したと判断するとしてもよい。
【０１１９】
この構成によると、マルチプロセッサシステムにおいて第１プロセッサは、第２プロセッサから出力される信号の有無により、第２プロセッサの動作の終了の完了を検知することができる。
【０１２０】
（３）ここで、前記通知に応じた処理の完了とは、前記第２プロセッサが前記通知に応じた処理を実行するための命令流に含まれる全てのメモリアクセス命令のメモリへのアクセスが完了したことであるとしてもよい。
【０１２１】
この構成によると、マルチプロセッサシステムは、メモリアクセスの完了を第２プロセッサ処理の完了とするので、例えば、意図しないメモリアクセスのアドレス一致による不具合を検出することができる。
【０１２２】
（４）ここで、前記判別手段は、さらに、前記デバッグモードとは別のデバッグモードが、前記デバッグモードに代わって設定されているか否かを判別し、前記判別手段で前記別のデバッグモードが設定されていると判別される場合、前記特定手段が前記処理依頼命令を特定すると、前記実行手段は前記検知手段により前記完了が検知されるまでの間に、前記第２プロセッサに対する次の処理依頼命令の出現までに存在する命令を実行、又は前記次の処理依頼命令の出現までに存在する命令及び前記次の処理依頼命令の後続に位置し、且つ前記次の処理依頼命令に依存しない命令を実行し、前記検知手段により前記完了が検知されると当該次の処理依頼命令に基づく通知を前記第２プロセッサに対して行うとしてもよい。
【０１２３】
この構成によると、マルチプロセッサシステムは、別のデバッグモードが設定されている場合には、第２プロセッサにおいて異なる処理依頼命令に基づく通知に対する処理を並列に行うことはない。これにより、第２プロセッサにおいて異なる処理依頼命令に基づく通知に対する処理の並列化を実行する前に、第１プロセッサと第２プロセッサとの並列処理のデバッグを行うことで、効率的に不具合を排除することができる。
【０１２４】
（５）ここで、前記第１プロセッサは、さらに、前記判別手段でデバッグモードが設定されていないと判別する場合において、前記特定手段に処理依頼命令を特定すると以降の命令の特定を停止させ、前記完了が検知されると命令の特定を再開するよう制御する制御手段を備えるとしてもよい。
【０１２５】
この構成によると、マルチプロセッサシステムは、デバッグモードが設定されていない場合においても、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、デバッグモードにおけるメインプロセッサ内の命令単位の並列性を用いた動作と、コプロセッサ内の命令単位の並列性を用いた動作は、非デバッグモードの動作と完全に一致させることができる。
【０１２６】
（６）ここで、前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のデコード処理を行うためのものであり、前記マルチプロセッサシステムは、画像のデコード処理を行う画像処理装置に備えられるとしてもよい。
【０１２７】
この構成によると、マルチプロセッサシステムは、デコード処理のデバッグを効率良く行うことができる。
【０１２８】
（８）ここで、前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のエンコード処理を行うためのものであり、前記マルチプロセッサシステムは、画像のエンコード処理を行う画像処理装置に備えられるとしてもよい。
【０１２９】
この構成によると、マルチプロセッサシステムは、エンコード処理のデバッグを効率良く行うことができる。
【産業上の利用可能性】
【０１３０】
本発明に係るマルチプロセッサシステムは、柔軟で高性能な演算処理を実現する機能を有するため、ＤＶＤレコーダやデジタルＴＶ等の映像や音声のメディア処理を行うシステムＬＳＩ等に適用できる。
【符号の説明】
【０１３１】
１０、１０００    マルチプロセッサシステム
１１、１００１    メインプロセッサ
１２、１００２    コプロセッサ
１０１    命令メモリ
１０２    命令フェッチ制御部
１０３    命令群決定部
１０４    命令バッファ
１０５、１１０５    発行命令決定部
１０６    レジスタファイル
１０７    演算器群
１０８    メモリアクセス部
１０９    データメモリ
１１０    ライトバックバス
１１１、１１１１    デバッグモード判別部
１２１    命令処理部
１２２    レジスタファイル
１２３    演算器群
１２４    メモリアクセス部
１２５    データメモリ
１２６    ライトバックバス
２０１、１２０１    命令特定部
２０２、１２０２    命令実行部
２０３、１２０３    検知部
【図１】
2013011620.tif 000003
【図２】
2013011620.tif 000004
【図３】
2013011620.tif 000005
【図４】
2013011620.tif 000006
【図５】
2013011620.tif 000007
【図６】
2013011620.tif 000008
【図７】
2013011620.tif 000009
【図８】
2013011620.tif 000010
【図９】
2013011620.tif 000011
【手続補正書】
【提出日】平成24年12月12日(2012.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムであって、
前記第１プロセッサは、
デバッグモードが設定されているか否かを判別する判別手段と、
命令列中から実行対象となる命令を逐次特定する特定手段と、
特定された命令が、処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、
前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、
前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
ことを特徴とするマルチプロセッサシステム。
【請求項２】
前記第２プロセッサは前記通知に応じた処理を実行中は、当該処理を実行中である旨を示す信号を前記第１プロセッサへ出力し、
前記検知手段は、前記第２プロセッサから前記信号が出力されている間は、前記第２プロセッサが前記通知に応じた処理を実行中であると判断し、当該信号が出力されなくなると前記通知に応じた処理が完了したと判断する
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項３】
前記通知に応じた処理の完了とは、前記第２プロセッサが前記通知に応じた処理を実行するための命令流に含まれる全てのメモリアクセス命令のメモリへのアクセスが完了したことである
ことを特徴とする請求項２に記載のマルチプロセッサシステム。
【請求項４】
前記判別手段は、さらに、
前記デバッグモードとは別のデバッグモードが、前記デバッグモードに代わって設定されているか否かを判別し、
前記判別手段で前記別のデバッグモードが設定されていると判別される場合、前記特定手段が前記処理依頼命令を特定すると、前記実行手段は前記検知手段により前記完了が検知されるまでの間に、
前記第２プロセッサに対する次の処理依頼命令の出現までに存在する、前記処理依頼命令に依存しない命令を実行し、
又は前記第２プロセッサに対する次の処理依頼命令の出現までに存在する、前記処理依頼命令に依存しない命令及び前記次の処理依頼命令の後続に位置する、前記次の処理依頼命令に依存しない命令を実行し、
前記検知手段により前記完了が検知されると当該次の処理依頼命令に基づく通知を前記第２プロセッサに対して行う
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項５】
前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のデコード処理を行うためのものであり、
前記マルチプロセッサシステムは、
画像のデコード処理を行う画像処理装置に備えられる
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項６】
前記第１プロセッサ及び前記第２プロセッサそれぞれで実行される命令は、画像のエンコード処理を行うためのものであり、
前記マルチプロセッサシステムは、
画像のエンコード処理を行う画像処理装置に備えられる
ことを特徴とする請求項１に記載のマルチプロセッサシステム。
【請求項７】
判別手段、特定手段、実行手段及び検知手段を備える第１プロセッサと、当該第１プロセッサからの通知を受けて処理を実行する第２プロセッサとを有するマルチプロセッサシステムで用いられる処理方法であって、
前記判別手段が、デバッグモードが設定されているか否かを判別する判別ステップと、
前記特定手段が、命令列中から実行対象となる命令を逐次特定する特定ステップと、
前記実行手段が、特定された命令が処理依頼命令である場合には前記第２プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行ステップと、
前記検知手段が、前記第２プロセッサが前記通知に応じた処理を完了したことを検知する検知ステップとを含み、
前記特定ステップは、前記判別ステップでデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
ことを特徴とする処理方法。
【国際調査報告】
2013011620.tif 000012
2013011620.tif 000013
2013011620.tif 000014
2013011620.tif 000015