【手続補正書】
【提出日】平成27年9月29日(2015.9.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ・プロセッサが処理中のプログラムからの処理命令のストリームを監視するための追跡論理回路であって、前記追跡論理回路は、監視論理であって、
前記命令ストリーム内の前記命令の処理を検出し、
前記命令ストリーム内の前記命令のどれが条件付き直接分岐命令か、前記命令ストリーム内の前記命令のどれが条件付き間接分岐命令か、および前記命令ストリーム内の前記命令のどれが無条件間接分岐命令かを検出する、
監視論理を含み、
前記追跡論理回路は更に、圧縮論理であって、
前記条件付き直接分岐命令、前記条件付き間接分岐命令、および前記無条件間接分岐命令をマーカ命令に指定し、
マーカ命令毎に、前記マーカ命令を処理したときの前記データ・プロセッサの挙動を示す標識は出力し、処理したがマーカ命令でない命令に関するデータは出力しない、
圧縮論理を含み、
前記監視論理は更に、
例外事象を検出し、
前記圧縮論理は前記例外事象の検出に応じて、
例外が起こった命令のアドレスを符号化する一連のバイトとして、前記例外事象が起こった前記プログラム内の場所を表すアドレスを、前記例外事象を検出したことを示す例外標識と共に出力し、
前記例外事象が起こった前記プログラム内の場所を表すアドレスは、各バイト内の継続ビットを用いて、最後のマーカ命令のアドレスと前記例外事象が起こった前記プログラム内の場所を表す前記アドレスとのビット毎の差の値を符号化することにより圧縮される、追跡論理回路。
【請求項２】
前記監視論理は更に前記命令ストリームのどれがデータ・メモリ転送命令かを検出し、前記圧縮論理は更に前記データ・メモリ転送命令をマーカ命令に指定する、請求項１記載の追跡論理回路。
【請求項３】
前記監視論理は更に前記命令ストリームのどれが条件付き命令かを検出し、前記圧縮論理は更に前記条件付き命令をマーカ命令に指定する、請求項１記載の追跡論理回路。
【請求項４】
前記圧縮論理は処理中の前記間接分岐命令を処理したことの検出に応じて前記命令の分岐先の表示を前記標識として出力する、
請求項１記載の追跡論理回路。
【請求項５】
前記監視論理は更にカウンタを含み、更に、
前記カウンタを用いて、各マーカ命令に続いて処理された非マーカ命令の数をカウントし、
例外事象を検出し、
前記圧縮論理は前記例外事象の検出に応じて、
前記例外事象を検出したことを示す例外標識を前記カウンタの値と共に出力する、
請求項１記載の追跡論理回路。
【請求項６】
前記カウンタの前記値が或る予め決められた値を超えたことに応じて、非マーカ命令の性質に関わらず、前記圧縮論理は前記カウンタの前記値が前記予め決められた値を超えた点に達した前記非マーカ命令をマーカ命令に指定した後、前記カウンタをリセットする、請求項５記載の追跡論理回路。
【請求項７】
前記監視論理は更に前記命令ストリームのどれが無条件直接分岐命令かを検出し、前記圧縮論理は更に前記無条件直接分岐命令をマーカ命令に指定する、請求項１記載の追跡論理回路。
【請求項８】
前記圧縮論理は前記諸標識を出力する前に前記標識データを圧縮して前記圧縮されたデータを出力する、請求項１記載の追跡論理回路。
【請求項９】
前記追跡論理回路は更に前記マーカ命令の少なくとも１つの挙動を前のマーカ命令の挙動から決定できるかどうか判断し、前記追跡論理回路は前記少なくとも１つのマーカ命令をマーカ命令でない命令に降格させる、請求項１記載の追跡論理回路。
【請求項１０】
請求項１記載のプログラム命令の前記ストリームおよび追跡論理回路を処理するためのデータ・プロセッサを含むデータ処理装置。
【請求項１１】
前記データ処理装置は更に、
前記マーカ命令の少なくとも１つの処理挙動の少なくとも１つの予測を与える予測論理、
を含み、
前記監視論理は、
前記少なくとも１つの予測が正しいかどうかを前記監視した挙動から判断し、
前記少なくとも１つのマーカ命令について前記少なくとも１つの予測が正しいかどうかについての表示を前記標識として出力する、
請求項１０記載のデータ処理装置。
【請求項１２】
前記予測論理は少なくとも１つの条件付き命令についての予測を与え、前記予測論理は前記条件付き命令の条件が真か偽かを予測し、前記少なくとも１つの条件付き命令の前記標識は、前記予測が正しい場合は予測正確表示を、また前記予測が正しくない場合は予測不正確表示を含む、請求項１１記載のデータ処理装置。
【請求項１３】
前記予測論理は前記データ処理装置の一部の前記挙動の対応する複数のステップに関する複数の予測を与え、前記追跡論理回路は前記複数の予測の少なくともいくつかが正しいかどうか判断して、前記複数の予測の少なくともいくつかに対応する複数の予測標識を作り、前記圧縮論理は前記複数の予測標識の前記少なくともいくつかを圧縮して圧縮データを作り、前記追跡論理回路は前記圧縮されたデータを出力する、請求項１１記載のデータ処理装置。
【請求項１４】
前記追跡論理回路は埋込み追跡マクロセルを含む、請求項１１記載のデータ処理装置。
【請求項１５】
前記データ処理装置は更にデータ記憶装置を含み、前記圧縮論理はデータを前記データ記憶装置に出力する、請求項１０記載のデータ処理装置。
【請求項１６】
データ・プロセッサを監視する追跡論理回路から出力されるデータ・ストリームを受ける診断装置であって、前記データ・ストリームは、マーカ命令を処理したときの前記データ・プロセッサの挙動を示す標識は含み、処理したがマーカ命令でない命令に関するデータは含まず、前記マーカ命令は条件付き直接分岐命令、条件付き間接分岐命令、および無条件間接分岐命令を含み、前記データ・ストリームは更に、例外事象を検出したことを示す例外標識と共に、前記例外事象が起こったプログラム内の場所を表すアドレスを有し、前記診断装置は圧縮解除論理およびデータ記憶装置を含み、前記データ記憶装置は前記データ・プロセッサが処理した前記プログラムの前記命令を記憶し、前記圧縮解除論理は前記データ・ストリームを受けて前記マーカ命令の前記標識、前記例外標識および前記記憶されたプログラムからプログラム・フローを決定し、
例外が起こった命令のアドレスを符号化する一連のバイトとして、前記例外事象が起こった前記プログラム内の場所を表すアドレスが、前記例外事象を検出したことを示す例外標識と共に出力され、
前記例外事象が起こった前記プログラム内の場所を表すアドレスは、各バイト内の継続ビットを用いて、最後のマーカ命令のアドレスと前記例外事象が起こった前記プログラム内の場所を表す前記アドレスとのビット毎の差の値を符号化することにより圧縮される、診断装置。
【請求項１７】
前記診断装置は更に、前記圧縮解除論理に送る前に前記データ・ストリームを受けて記憶するためのバッファを含む、請求項１６記載の診断装置。
【請求項１８】
前記データ・ストリームは更に例外事象標識およびカウンタ値を含み、前記カウンタ値は前のマーカ命令に続いて処理された命令の数を示し、前記診断装置は前記前のマーカ命令標識および前記カウンタ値から前記例外事象の位置を決定する、請求項１６記載の診断装置。
【請求項１９】
前記データ・ストリーム内の前記標識は予測標識を含み、前記予測標識は前記データ・プロセッサの一部の挙動に関して前記データ・プロセッサ内の論理が行った予測が正しいかどうかを示し、前記診断装置は、
前記データ・プロセッサの一部の前記挙動に関して予測を行い、前記予測は前記データ・プロセッサ内の前記論理が行う予測に対応し、
圧縮解除論理は前記予測および前記受けたデータ・ストリームから前記データ・プロセッサの実際の挙動を決定する、
ことを含む、
請求項１６記載の診断装置。
【請求項２０】
請求項１０記載のデータ処理装置と請求項１６記載の診断装置とを含むシステムであって、前記システムは前記プログラムおよび圧縮解除論理を記憶するためのプログラム・データ記憶装置を更に含み、前記圧縮解除論理は前記圧縮論理が出力したデータを受けて、前記マーカ命令の前記標識および前記記憶されたプログラムからプログラム・フローを決定する、システム。
【請求項２１】
データ・プロセッサが処理中のプログラムからの処理命令のストリームを監視する方法であって、
前記命令ストリーム内の前記命令の処理を検出するステップと、
前記命令ストリーム内の前記命令のどれが条件付き直接分岐命令か、および前記命令ストリーム内の前記命令のどれが無条件間接分岐命令または条件付き間接分岐命令かを検出するステップと、
前記条件付き直接分岐命令、前記条件付き間接分岐命令、および前記無条件間接分岐命令とをマーカ命令に指定するステップと、
マーカ命令毎に、前記マーカ命令を処理したときの前記データ・プロセッサの挙動を示す標識は出力し、処理したがマーカ命令でない命令に関するデータは出力しないステップと、
例外事象を検出するステップと、
例外が起こった命令のアドレスを符号化する一連のバイトとして、前記例外事象が起こった前記プログラム内の場所を表すアドレスを、前記例外事象を検出したことを示す例外標識と共に出力するステップであって、前記例外事象が起こった前記プログラム内の場所を表すアドレスは、各バイト内の継続ビットを用いて、最後のマーカ命令のアドレスと前記例外事象が起こった前記プログラム内の場所を表す前記アドレスとのビット毎の差の値を符号化することにより圧縮される、前記出力するステップと、
を含む監視する方法。
【請求項２２】
データ・プロセッサが処理中のプログラムを診断する方法であって、
データ・プロセッサを監視する追跡論理回路から出力されるデータ・ストリームを受け、前記データ・ストリームは、マーカ命令を処理中の前記データ・プロセッサの挙動を示す標識は含み、処理したがマーカ命令でない命令に関するデータは含まず、前記マーカ命令は条件付き命令および間接分岐命令を含み、前記データ・ストリームは更に、例外事象を検出したことを示す例外標識と共に、前記例外事象が起こったプログラム内の場所を表すアドレスを有し、
前記データ・プロセッサが処理中の前記プログラムの前記命令をデータ記憶装置内に記憶し、
前記マーカ命令の前記標識、前記例外標識および前記記憶されたプログラムから処理中の前記プログラムのプログラム・フローを決定し、
例外が起こった命令のアドレスを符号化する一連のバイトとして、前記例外事象が起こった前記プログラム内の場所を表すアドレスが、前記例外事象を検出したことを示す例外標識と共に出力され、
前記例外事象が起こった前記プログラム内の場所を表すアドレスは、各バイト内の継続ビットを用いて、最後のマーカ命令のアドレスと前記例外事象が起こった前記プログラム内の場所を表す前記アドレスとのビット毎の差の値を符号化することにより圧縮される、プログラムを診断する方法。
【請求項２３】
データ・プロセッサ上で実行すると、該データ・プロセッサを制御して、該データ・プロセッサに、請求項２１または２２のいずれか１つに係る方法の各ステップを実行させるためのコンピュータ・プログラム。