(57)【要約】【課題】  本発明は、サンプル基板を用いたソフトウェアデバッグの過程において、機能ユニットにブレークポイントを設けることで機能ユニットの処理を中断させ、実行状態を確認可能である情報処理装置を提供することを目的とする。【解決手段】  ＣＰＵと複数の機能ユニットはブロードキャスティング命令発行可能なバスで接続され、ＣＰＵまたは複数の機能ユニットのうち少なくても１つ以上のユニットはジョブ情報を含むブロードキャスティング命令の発行が可能であり、実行中のジョブ情報を保持するジョブ保持手段と、ジョブ保持部に記憶されたジョブ情報とブロードキャスティング命令発行可能なユニットが発行したブロードキャスティング命令に含まれるジョブ情報とを比較するジョブ情報比較手段と、ジョブ情報比較結果に基づき、実行中の処理を中断する処理停止手段とが、それぞれの機能ユニットに含まれていることを特徴とする情報処理装置。【選択図】  図１
2007034934.tif 000002
【特許請求の範囲】
【請求項１】
CPUと複数の機能ユニットよりなる情報処理装置であって、
CPUと複数の機能ユニットはブロードキャスティング命令発行可能なバスで接続され、
CPUまたは複数の機能ユニットのうち少なくても1つ以上のユニットはジョブ情報を含むブロードキャスティング命令の発行が可能であり、
実行中のジョブ情報を保持するジョブ保持手段と、
ジョブ保持部に記憶されたジョブ情報とブロードキャスティング命令発行可能なユニットが発行したブロードキャスティング命令に含まれるジョブ情報とを比較するジョブ情報比較手段と、
ジョブ情報比較結果に基づき、実行中の処理を中断する処理停止手段とが、
それぞれの機能ユニットに含まれていることを特徴とする
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置におけるデバッグ機構に関し、特にサンプル基板上でソフトウェアのデバッグを行う際の情報処理装置のデバッグ機構に関する。
【背景技術】
【０００２】
システムLSIの開発において、プリント基板を用いてソフトウェアの開発が行われる。システムLSI開発の過程は、「回路設計→基板設計→サンプル→製造→評価→量産」という流れで行われ、サンプル製造時にソフトウェアの開発が行われる。設計過程におけるサンプルの評価時には、ハードウェアの動作確認を行うとともに、ソフトウェアのデバッグも行う。
【０００３】
しかし、サンプルの基板が最初から動くことは殆どなく、その原因がハードウェアとソフトウェアのいずれの障害によるものなのか特定は困難であり、両者にまたがっていることも多い。
【０００４】
サンプル基板を用いてハードウェアの動作確認およびソフトウェアのデバッグを行う際、デバッガ等を利用し、ソフトウェアプログラムの特定の個所にブレークポイントを設けることでCPUの処理を中断し、ソフトウェアの実行状態を確認することが可能となる。
【０００５】
又、従来例としては、例えば特許文献１と特許文献２と特許文献３をあげることが出来る。
【特許文献１】特開2003-140923号公報
【特許文献２】特開平2-186448号公報
【特許文献３】特開平7-225740号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ブレークポイントによってCPUは処理を中断し、ソフトウェアプログラムの実行状態を確認することが可能であるのに対し、CPU以外の機能ユニットは処理を中断することなく実行し続けてしまう。よって機能ユニットの実行状態を確認することは困難であった。
【０００７】
本発明、サンプル基板を用いたソフトウェアデバッグの過程において、機能ユニットにブレークポイントを設けることで機能ユニットの処理を中断させ、実行状態を確認可能である情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の情報処理装置は、
CPUと複数の機能ユニットよりなる情報処理装置であって、
CPUと複数の機能ユニットはブロードキャスティング命令発行可能なバスで接続され、
CPUまたは複数の機能ユニットのうち少なくても1つ以上のユニットはジョブ情報を含むブロードキャスティング命令の発行が可能であり、
実行中のジョブ情報を保持するジョブ保持手段と、
ジョブ保持部に記憶されたジョブ情報とブロードキャスティング命令発行可能なユニットが発行したブロードキャスティング命令に含まれるジョブ情報とを比較するジョブ情報比較手段と、
ジョブ情報比較結果に基づき、実行中の処理を中断する処理停止手段とが、
それぞれの機能ユニットに含まれていることを特徴とする。
【発明の効果】
【０００９】
以上説明してきたように、請求項1に記載の発明によれば、CPUと複数の機能ユニットはブロードキャスティング命令発行可能なバスで接続され、CPUまたは複数の機能ユニットのうち少なくても1つ以上のユニットはジョブ情報を含むブロードキャスティング命令の発行が可能であり、実行中のジョブ情報を保持するジョブ保持手段と、ジョブ保持部に記憶されたジョブ情報とブロードキャスティング命令発行可能なユニットが発行したブロードキャスティング命令に含まれるジョブ情報とを比較するジョブ情報比較手段と、ジョブ情報比較結果に基づき、実行中の処理を中断する処理停止手段とが、それぞれの機能ユニットに含まれていることを特徴とする情報処理装置において、CPU等のブロードキャスティング命令発行可能なユニットがジョブ情報を含んだブロードキャスティング命令を発行した際、ブロードキャスティング命令に設定されたジョブ情報と同一のジョブ情報を持つ機能ユニットは処理を中断し、サスペンド状態となることで、ソフトウェアのデバッグ作業が容易となる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明の実施の形態を説明する。
【００１１】
（第1の実施例）
第1の実施の形態におけるデジタル複合機を図7に示す。901は、本発明の情報処理装置を適用可能なコントローラ（Controller Unit）である。
【００１２】
ここで、100はデジタル複合機全体を制御するCPUである。101は入力した画像データに対して所定の画像処理を行う画像処理ユニットである。102は画像データをプリンタ202へ出力する画像出力ユニットである。103はスキャナ203から画像データを取り込む画像入力ユニットである。104はLAN204から送信されるデータを制御するLANコントロールユニットである。205は各種設定や動作指示操作を行うための操作部であり、105は操作部205から送信されるデータを制御する操作部ユニットである。106はRAM206へのリードアクセスやライトアクセスをコントロールするRAMコントローラである。107はROMへのリードアクセスをコントロールするROMコントローラである。
【００１３】
301はPCU100、画像処理ユニット101、画像出力ユニット102、画像入力ユニット103、LANコントロールユニット104、操作部ユニット205、RAM206、ROM207を接続するバスである。
【００１４】
801は、デバッグ作業を行うデバッグ用PCである。110はデバッグ用PC801とCPU100とを接続するI/Oモジュールである。
【００１５】
コントローラ901は、画像入力デバイスであるスキャナ203や画像出力デバイスであるプリンタ202と接続し、一方ではLAN204と接続することで、画像情報やデバイス情報の入出力、PDLデータのイメージ展開を行うためのコントローラである。
【００１６】
CPU100はシステム全体を制御するプロセッサである。
【００１７】
RAM206は、CPU100が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。RAM206はRAMコントローラユニットにより制御される。
【００１８】
ROM207は、ブートROMであり、システムのブートプログラムが格納されている。ROMコントローラ107により制御される。
【００１９】
操作部ユニット105は操作部205から本システム使用者が入力した情報を、CPU100に伝える役割をする。
【００２０】
画像入力ユニット103は、スキャナ203により補正画像処理されたラスタイメージデータを入力とし、所定の方法により矩形データへの構造変換を行い、バス301に対し、出力を行う。
【００２１】
画像出力ユニット102は、バス301からの矩形データを入力とし、ラスター画像への構造変換を行い、ラスター画像をプリンタ202へ出力する。
【００２２】
次に、本実施例のコントローラ901内で処理されるパケットデータのパケットフォーマットについて説明する。
【００２３】
本実施の形態におけるコントローラ901内では、画像データ、を、パケット化された形式で転送する。本実施の形態では、図2に示すデータパケットが使用される。
【００２４】
図2を用いてデータパケットについて説明する。本実施の形態では画像データを32pixel×32pixelのタイル（Tile）単位の画像データ（ImageData+padding）402に分割して取り扱う。
【００２５】
このタイル単位の画像に、必要なヘッダ情報（header）401及び画像付加情報等（Zdata+padding）403を付加してデータパケット（DataPacket）とする。ヘッダ情報401にはジョブIDが含まれており、ジョブIDはソフトウェアで管理するためのIDを格納する。
【００２６】
本実施例において、各機能ユニットはジョブ保持手段としてジョブID保持レジスタを有し、処理の開始時に、CPUが機能ユニットのジョブID保持レジスタにジョブIDを設定する。また、ジョブ情報比較手段としてジョブID比較回路を有し、CPUがジョブジョブIDを含むブロードキャスティング命令を発行した際、ブロードキャスティング命令に含まれるジョブIDとジョブIDレジスタに保持したジョブIDを比較し、その結果を処理停止回路へと出力する。さらに、処理停止回路はジョブID比較回路の結果が一致していた際には、機能ユニットの実行中の処理を中断させる。
【００２７】
図1に示すように、各機能ユニットにはジョブID保持レジスタ、ジョブID比較回路、処理停止回路、各処理ブロックが含まれている。
【００２８】
以下、コントローラ901が行う典型的な処理として、ユーザーが操作部205よりコピージョブを行った場合の処理を、図3、図4、図5に示すフローチャートを用いて説明する。
【００２９】
まず、コントローラ901がコピージョブを受け、スキャナ203を用いたスキャン動作を開始し終了するまでの処理について図3を用いて説明する。
【００３０】
CPU100は、操作部ユニット105より情報の伝達を受け、コピージョブのジョブIDを、画像入力ユニット103のジョブIDレジスタ3001に設定する。
【００３１】
CPU100は、画像入力ユニット103を起動する。
【００３２】
画像入力ユニット103は、スキャナ203に対してスキャン開始を指示する。スキャナ203はラスタイメージデータを読み込み、画像入力ユニット103へ送信する。
【００３３】
画像入力ユニット103は、ラスタイメージデータから所定の方法でデータパケットを生成し、RAM206へ格納する。
【００３４】
1ページのスキャン動作が終了すると、画像入力ユニット103は、割り込み信号を用い、CPU100に割り込みを通知する。
【００３５】
次に、割り込みを通知されたCPU100は画像処理ユニット101を用いて、必要な画像処理を開始し終了するまでの処理について図4を用いて説明する。
【００３６】
CPU100は、画像処理ユニット101から割り込みの通知受け、コピージョブのジョブIDを、画像処理ユニット101のジョブIDレジスタ1001に設定する。
【００３７】
CPU100は、画像処理ユニット101を起動する。
【００３８】
画像処理ユニット101は、RAM206からデータパケットを読み込み、必要な処理を施す。
【００３９】
画像処理ユニット101は、処理を終えたデータパケットをRAM206へ格納する。
【００４０】
1つのデータパケットに施す必要な処理が終了すると、画像処理ユニット101は、割り込み信号を用い、CPU100に割り込みを通知する。
【００４１】
最後に、必要な画像処理を終了すると、プリンタ202を用いたプリント動作を開始する。プリント動作におけるコントローラ901の処理について図5を用いて説明する。
【００４２】
CPU100は、コピージョブのジョブIDを、画像出力ユニット102のジョブIDレジスタ2001に設定する。
【００４３】
CPU100は、画像出力ユニット102を起動する。
【００４４】
画像出力ユニット102は、プリンタ202に対して印字待機を指示する。画像出力ユニット102はRAM206からデータパケットを読み出す。
【００４５】
画像出力ユニット102は、所定の方法でラスタイメージデータを生成し、プリンタ202に出力する。
【００４６】
結果、ユーザーは、コピー結果である画像プリントを得る。画像出力が終了した時点で、スキャン動作の場合と同様に、終了割り込みがCPU100に伝達される。
【００４７】
本実施例では、コピージョブの際、画像処理ユニットで実行される処理の途中にブレークポイントを設定し、機能ユニットの処理を中断させる流れを図6を用いて示す。ただし、このときソフトウェアプログラムのブレークポイントの前に機能ユニットの処理を中断するためのブロードキャスティング命令を追加しておく必要がある。
【００４８】
上述したコピージョブを行った場合、画像入力ユニット103が処理を終え、割り込み信号を用い、CPU100に割り込みを通知した際に、CPU100はコピージョブのジョブIDを含むブロードキャスティング命令を発行する。
【００４９】
本実施例ではジョブIDを含むブロードキャスティング命令は図8に示すようなものとする。図8のようにブロードキャスティング命令であることを示すop802と、ジョブIDを示すJobID802と、その他の情報を示すLabelフィールド803とから構成する。
【００５０】
ブロードキャスティング命令は全機能ユニットが受け、ブロードキャスティング命令に含まれるジョブIDと各機能ユニットのジョブIDレジスタの値がジョブID比較回路によって比較される。
【００５１】
画像入力ユニット103は、ジョブIDレジスタ3001にコピージョブのジョブIDが設定されており、ジョブID比較回路3002での比較結果が一致する。比較結果が一致すると、処理停止回路3003が動作し、機能処理ブロック3004で実行中の処理を中断する。
【００５２】
また、画像処理ユニット101は、ジョブIDレジスタ1001にコピージョブのジョブIDが設定されており、ジョブID比較回路1002での比較結果が一致する。比較結果が一致すると、処理停止回路1003が動作し、機能処理ブロック1004で実行中の処理を中断する。
【００５３】
この結果、画像入力ユニット103、画像処理ユニット101におけるプログラムの実行状態をデバッグ用PC801で確認することができる。
【００５４】
なお、ブロードキャスティング命令を発行するユニットはCPUでなく、機能ユニットであっても構わない。
【図面の簡単な説明】
【００５５】
【図１】第1の実施形態における機能ユニットの内部構成について説明する図である。
【図２】コントローラ901において用いられるデータパケットについての説明である。
【図３】第1の実施形態のデジタル複合機においてコピージョブの指示を行った場合のスキャン動作について説明する図である。
【図４】第1の実施形態のデジタル複合機においてコピージョブの指示を行った場合の画像処理動作について説明する図である。
【図５】第1の実施形態のデジタル複合機においてコピージョブの指示を行った場合のプリント動作について説明する図である。
【図６】第1の実施形態のデジタル複合機において画像処理動作中に機能ユニットの処理を中断する動作について説明する図である。
【図７】本発明の実施例におけるデジタル複合機を説明する図である。
【図８】ジョブIDを含むブロードキャスティング命令を説明する図である。
【図１】
2007034934.tif 000003
【図２】
2007034934.tif 000004
【図３】
2007034934.tif 000005
【図４】
2007034934.tif 000006
【図５】
2007034934.tif 000007
【図６】
2007034934.tif 000008
【図７】
2007034934.tif 000009
【図８】
2007034934.tif 000010