【手続補正書】
【提出日】平成28年5月6日(2016.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバッグ能力を有するプロセッサデバイスであって、前記デバイスは、
中央処理ユニットと、
インタラプトコントローラと、
インタラプトが生じたことを示す第１のモードまたはコードの通常実行を示す第２のモードに設定されるように動作可能なステータスユニットと、
前記ステータスユニットと連結され、構成可能ブレークポイントユニットを備える、デバッグユニットであって、ブレークポイントが、前記デバイスがインタラプトサービスルーチンにおいて動作している場合のみ、アクティブ化されるという条件が設定されることができる、デバッグユニットと
を備える、デバイス。
【請求項２】
前記ステータスユニットは、
最終ステージインタラプト検出ユニットと、
インタラプトからの復帰検出ユニットと
を備える、請求項１に記載のデバイス。
【請求項３】
前記最終ステージインタラプト検出ユニットは、前記デバイスが前記インタラプトサービスルーチンに入るように強制されるときのみ、インタラプトが生じたことを示す論理信号を生成する、請求項２に記載のデバイス。
【請求項４】
前記ステータスユニットはさらに、
第１の入力において論理１を受信する第１の入力を有し、前記最終ステージインタラプト検出ユニットによって制御される、第１のマルチプレクサと、
第１の入力において論理０を受信し、前記第１のマルチプレクサの出力と連結された第２の入力を有する、第２のマルチプレクサであって、前記第２のマルチプレクサは、前記インタラプトからの復帰検出ユニットによって制御される、第２のマルチプレクサと、
前記第２のマルチプレクサからの出力信号を受信し、前記第１のマルチプレクサの第２の入力と連結された出力を有する、クロック制御レジスタであって、前記レジスタの出力は、前記中央処理ユニットの現在のインタラプトステータスを示す、クロック制御レジスタと
を備える、請求項２に記載のデバイス。
【請求項５】
前記レジスタは、Ｄフリップフロップである、請求項４に記載のデバイス。
【請求項６】
前記デバッグユニットはさらに、前記デバイスがインタラプトサービスルーチンを実行していないとき、ブレークポイントをアクティブ化するように構成されることができる、請求項１に記載のデバイス。
【請求項７】
前記デバッグユニットはさらに、常時、ブレークポイントをアクティブ化するように構成されることができる、請求項６に記載のデバイス。
【請求項８】
前記デバッグユニットは、３つの動作モードのうちの１つを設定する論理ゲートを備えるモード選択回路を備え、第１のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行するときのみ、ブレークポイントのトリガを可能にし、第２のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行しないときのみ、ブレークポイントのトリガを可能にし、第３のモードは、常時、ブレークポイントのトリガを可能にする、請求項７に記載のデバイス。
【請求項９】
前記構成可能ブレークポイントユニットは、ブレークポイントが、以下の条件、命令アドレス、命令アドレス範囲、所定のアドレスへのデータ読取アクセス、および所定のアドレスへのデータ書込アクセスのうちの少なくとも１つによって定義されることを可能にするように動作可能である、請求項１に記載のデバイス。
【請求項１０】
ブレークポイントに対するデータ書込アクセスの条件はさらに、所定のデータアドレスのデータ値を定義してもよい、請求項９に記載のデバイス。
【請求項１１】
いくつかのブレークポイント発生は、プログラムの実行が前記ブレークポイントにおいて停止される前に満たされる必要があると定義されることができる、請求項９に記載のデバイス。
【請求項１２】
複数のイベントを組み合わせ、デバッグイベントを生成するように動作可能なイベントコンバイナをさらに備える、請求項９に記載のデバイス。
【請求項１３】
デバッグ能力を有するプロセッサデバイス内で実行されたコードをデバッグするための方法であって、前記方法は、
中央処理ユニット（ＣＰＵ）によってコードを実行することと、
前記コードを実行している間、前記ＣＰＵのインタラプトサービスステータスを判定することと、
前記ＣＰＵがインタラプトサービスルーチンを実行しているときのみ、デバッグユニット内のブレークポイントがアクティブ化されるように構成することと、
ブレークポイントの発生の際、前記ＣＰＵがインタラプトサービスルーチン内で命令を実行している場合のみ、前記デバッグユニット内の前記ブレークポイントをアクティブ化することと
を含む、方法。
【請求項１４】
前記ＣＰＵのインタラプトサービスステータスを判定するために、前記デバッグユニットは、インタラプトサービスルーチンの実行を引き起こす、前記ＣＰＵの最終ステージインタラプト状態を判定し、インタラプトからの復帰命令の実行を判定するように構成される、請求項１３に記載の方法。
【請求項１５】
前記デバッグユニットはさらに、前記デバイスがインタラプトサービスルーチンを実行していないとき、ブレークポイントをアクティブ化するように構成されることができる、請求項１３に記載の方法。
【請求項１６】
前記デバッグユニットはさらに、常時、ブレークポイントをアクティブ化するように構成されることができる、請求項１５に記載の方法。
【請求項１７】
前記デバッグユニットの動作モードを選択するステップをさらに含み、第１のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行するときのみ、ブレークポイントのトリガを可能にし、第２のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行しないときのみ、ブレークポイントのトリガを可能にし、第３のモードは、常時、ブレークポイントのトリガを可能にする、請求項１６に記載の方法。
【請求項１８】
ブレークポイントが、以下の条件：命令アドレス、命令アドレス範囲、所定のアドレスへのデータ読取アクセス、および所定のアドレスへのデータ書込アクセスのうちの少なくとも１つによって定義されることを可能にするようにブレークポイント構成を構成することをさらに含む、請求項１３に記載の方法。
【請求項１９】
ブレークポイントに対するデータ書込アクセスの条件はさらに、所定のデータアドレスのデータ値を定義してもよい、請求項１８に記載の方法。
【請求項２０】
いくつかのブレークポイント発生は、プログラムの実行が前記ブレークポイントにおいて停止される前に満たされる必要があると定義されることができる、請求項１８に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本方法のさらなる実施形態によると、ＣＰＵのインタラプトサービスステータスを判定するために、デバッグユニットは、インタラプトサービスルーチンの実行を引き起こす、ＣＰＵの最終ステージインタラプト状態を判定し、インタラプトからの復帰命令の実行を判定するように構成されることができる。本方法のさらなる実施形態によると、デバッグユニットはさらに、デバイスがインタラプトサービスルーチンを実行していないとき、ブレークポイントをアクティブ化するように構成されることができる。本方法のさらなる実施形態によると、デバッグユニットはさらに、常時、ブレークポイントをアクティブ化するように構成されることができる。本方法のさらなる実施形態によると、本方法はさらに、デバッグユニットの動作モードを選択することを含んでもよく、第１のモードは、中央処理ユニットがインタラプトサービスルーチンを実行するときのみ、ブレークポイントのトリガを可能にし、第２のモードは、中央処理ユニットがインタラプトサービスルーチンを実行しないときのみ、ブレークポイントのトリガを可能にし、第３のモードは、常時、ブレークポイントのトリガを可能にする。本方法のさらなる実施形態によると、本方法はさらに、ブレークポイントが、以下の条件：命令アドレス、命令アドレス範囲、所定のアドレスへのデータ読取アクセス、および所定のアドレスへのデータ書込アクセスのうちの少なくとも１つによって定義されることを可能にするようにブレークポイント構成を構成することを含んでもよい。本方法のさらなる実施形態によると、ブレークポイントに対するデータ書込アクセスの条件はさらに、所定のデータアドレスのデータ値を定義してもよい。本方法のさらなる実施形態によると、いくつかのブレークポイント発生が、プログラムの実行が、ブレークポイントにおいて停止される前に満たされる必要があるように定義されることができる。
本願明細書は、例えば、以下の項目も提供する。
（項目１）
デバッグ能力を有するプロセッサデバイスであって、前記デバイスは、
中央処理ユニットと、
インタラプトコントローラと、
インタラプトが生じたことを示す第１のモードまたはコードの通常実行を示す第２のモードに設定されるように動作可能なステータスユニットと、
前記ステータスユニットと連結され、構成可能ブレークポイントを備える、デバッグユニットであって、ブレークポイントが、前記デバイスがインタラプトサービスルーチンにおいて動作している場合のみ、アクティブ化されるという条件が設定されることができる、デバッグユニットと
を備える、デバイス。
（項目２）
前記ステータスユニットは、
最終ステージインタラプト検出ユニットと、
インタラプトからの復帰検出ユニットと
を備える、項目１に記載のデバイス。
（項目３）
前記最終ステージインタラプト検出ユニットは、前記デバイスが前記インタラプトサービスルーチンに入るように強制されるときのみ、インタラプトが生じたことを示す論理信号を生成する、項目２に記載のデバイス。
（項目４）
前記ステータスユニットはさらに、
第１の入力において論理１を受信する第１の入力を有し、前記最終ステージインタラプト検出ユニットによって制御される、第１のマルチプレクサと、
第１の入力において論理０を受信し、前記第１のマルチプレクサの出力と連結された第２の入力を有する、第２のマルチプレクサであって、前記第２のマルチプレクサは、前記インタラプトからの復帰検出ユニットによって制御される、第２のマルチプレクサと、
前記第２のマルチプレクサからの出力信号を受信し、前記第１のマルチプレクサの第２の入力と連結された出力を有する、クロック制御レジスタであって、前記レジスタの出力は、前記中央処理ユニットの現在のインタラプトステータスを示す、クロック制御レジスタと
を備える、項目２に記載のデバイス。
（項目５）
前記レジスタは、Ｄフリップフロップである、項目４に記載のデバイス。
（項目６）
前記デバッグユニットはさらに、前記デバイスがインタラプトサービスルーチンを実行していないとき、ブレークポイントをアクティブ化するように構成されることができる、項目１に記載のデバイス。
（項目７）
前記デバッグユニットはさらに、常時、ブレークポイントをアクティブ化するように構成されることができる、項目６に記載のデバイス。
（項目８）
前記デバッグユニットは、３つの動作モードのうちの１つを設定する論理ゲートを備えるモード選択回路を備え、第１のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行するときのみ、ブレークポイントのトリガを可能にし、第２のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行しないときのみ、ブレークポイントのトリガを可能にし、第３のモードは、常時、ブレークポイントのトリガを可能にする、項目７に記載のデバイス。
（項目９）
ブレークポイントが、以下の条件、命令アドレス、命令アドレス範囲、所定のアドレスへのデータ読取アクセス、および所定のアドレスへのデータ書込アクセスのうちの少なくとも１つによって定義されることを可能にするように構成されている、ブレークポイント構成ユニットを備える、項目１に記載のデバイス。
（項目１０）
ブレークポイントに対するデータ書込アクセスの条件はさらに、所定のデータアドレスのデータ値を定義してもよい、項目９に記載のデバイス。
（項目１１）
いくつかのブレークポイント発生は、プログラムの実行が前記ブレークポイントにおいて停止される前に満たされる必要があるように定義されることができる、項目９に記載のデバイス。
（項目１２）
複数のイベントを組み合わせ、プログラムの停止実行を生成するように動作可能なイベントコンバイナをさらに備える、項目９に記載のデバイス。
（項目１３）
デバッグ能力を有するプロセッサデバイス内で実行されたコードをデバッグするための方法であって、前記方法は、
中央処理ユニット（ＣＰＵ）によってコードを実行することと、
デバッグユニットによって前記コードを実行している間、前記ＣＰＵのインタラプトサービスステータスを判定することと、
前記ＣＰＵがインタラプトサービスルーチンを実行しているときのみ、前記デバッグユニット内のブレークポイントがアクティブ化されるように構成することと、
ブレークポイントの発生の際、前記ＣＰＵがインタラプトサービスルーチン内で命令を実行している場合のみ、前記デバッグユニット内の前記ブレークポイントをアクティブ化することと
を含む、方法。
（項目１４）
前記ＣＰＵのインタラプトサービスステータスを判定するために、前記デバッグユニットは、インタラプトサービスルーチンの実行を引き起こす、前記ＣＰＵの最終ステージインタラプト状態を判定し、インタラプトからの復帰命令の実行を判定するように構成される、項目１３に記載の方法。
（項目１５）
前記デバッグユニットはさらに、前記デバイスがインタラプトサービスルーチンを実行していないとき、ブレークポイントをアクティブ化するように構成されることができる、項目１３に記載の方法。
（項目１６）
前記デバッグユニットはさらに、常時、ブレークポイントをアクティブ化するように構成されることができる、項目１５に記載の方法。
（項目１７）
前記デバッグユニットの動作モードを選択することをさらに含み、第１のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行するときのみ、ブレークポイントのトリガを可能にし、第２のモードは、前記中央処理ユニットがインタラプトサービスルーチンを実行しないときのみ、ブレークポイントのトリガを可能にし、第３のモードは、常時、ブレークポイントのトリガを可能にする、項目１６に記載の方法。
（項目１８）
ブレークポイントが、以下の条件：命令アドレス、命令アドレス範囲、所定のアドレスへのデータ読取アクセス、および所定のアドレスへのデータ書込アクセスのうちの少なくとも１つによって定義されることを可能にするようにブレークポイント構成を構成することをさらに含む、項目１３に記載の方法。
（項目１９）
ブレークポイントに対するデータ書込アクセスの条件はさらに、所定のデータアドレスのデータ値を定義してもよい、項目１８に記載の方法。
（項目２０）
いくつかのブレークポイント発生は、プログラムの実行が前記ブレークポイントにおいて停止される前に満たされる必要があると定義されてもよい、項目１８に記載の方法。