(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025115304
(43)【公開日】2025-08-06
(54)【発明の名称】情報処理装置及び情報処理システム
(51)【国際特許分類】
G06F 11/34 20060101AFI20250730BHJP
G06F 11/30 20060101ALI20250730BHJP
【FI】
G06F11/34 119
G06F11/30 140D
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2024009785
(22)【出願日】2024-01-25
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】二垣 良知
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA33
5B042GB08
5B042JJ40
5B042LA10
5B042MA08
5B042MA14
5B042MA17
5B042MB03
5B042MC33
(57)【要約】
【課題】従来に比して、より汎用性の高いMCUを使用してプログラムの処理時間を計測することができる情報処理装置及び情報処理装置システムを提供する。
【解決手段】情報処理装置は、第1のプロセッサと、第1リングバッファと、第2リングバッファとを備える。第1のプロセッサは、計測対象プログラムの処理と、計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する。第1リングバッファは、計測された開始タイマ値を保持する。第2リングバッファは、計測された終了タイマ値を保持する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
計測対象プログラムの処理と、前記計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、前記計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する第1のプロセッサと、
計測された前記開始タイマ値を保持する第1リングバッファと、
計測された前記終了タイマ値を保持する第2リングバッファと、
を備える情報処理装置。
【請求項2】
計測対象プログラムの処理と、前記計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、前記計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する第1のプロセッサと、
計測された前記開始タイマ値を保持する第1リングバッファと、
計測された前記終了タイマ値を保持する第2リングバッファと、
前記第1リングバッファに保持された複数の前記開始タイマ値を所定の周期でサンプリングし、前記第2リングバッファに保持された複数の前記終了タイマ値を前記所定の周期でサンプリングする第2のプロセッサと、
を備える情報処理システム。
【請求項3】
前記第2のプロセッサは、前記所定の周期でサンプリングした複数の前記開始タイマ値、及び前記所定の周期でサンプリングした複数の前記終了タイマ値の少なくとも一方の時間方向についての配列を補正する、
請求項2に記載の情報処理システム。
【請求項4】
前記第2のプロセッサは、
前記第1リングバッファの各配列における前記開始タイマ値の更新周期が均一になるように、前記所定の周期でサンプリングした複数の前記開始タイマ値の時間方向についての配列を補正し、
前記第2リングバッファの各配列における前記終了タイマ値の更新周期が均一になるように、前記所定の周期でサンプリングした複数の前記終了タイマ値の時間方向についての配列を補正する、
請求項3に記載の情報処理システム。
【請求項5】
前記第1リングバッファ及び前記第2リングバッファのそれぞれが有する配列の数は、前記第2のプロセッサのサンプリング周期及び前記計測対象プログラムの処理速度の少なくとも一方に応じて変更可能である、
請求項2乃至4のうちいずれか一項に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理システムに関する。
【背景技術】
【0002】
自動車に搭載されるECU(Electronic Control Unit)に組み込まれるMCU(Micro Controller Unit)において、MCUの処理効率を向上するため、CPU(演算装置)を制御するプログラムの処理時間を計測して管理することが設計者に求められている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
プログラムの処理時間を計測する方法としては、内部メモリ領域を、計測対象のプログラムが実行されるメモリ領域と、計測対象外のプログラムが実行されるメモリ領域とに分割する方法が知られている。この方法では、プログラムの実行に使用されるメモリ領域が替わったことを検知できるシステムがMCUに備わっている必要がある。このため、プログラムの処理時間を計測することができるMCUが限定される。
【0005】
本発明の目的の一つは、従来に比して、より汎用性の高いMCUを使用してプログラムの処理時間を計測することである。
【課題を解決するための手段】
【0006】
前記の目的を達成するため、本発明に係る情報処理装置は、第1のプロセッサと、第1リングバッファと、第2リングバッファとを備える。第1のプロセッサは、計測対象プログラムの処理と、計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する。第1リングバッファは、計測された開始タイマ値を保持する。第2リングバッファは、計測された終了タイマ値を保持する。
【0007】
また、本発明に係る情報処理システムは、第1のプロセッサと、第1リングバッファと、第2リングバッファと、第2のプロセッサとを備える。第1のプロセッサは、計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する。第1リングバッファは、計測された開始タイマ値を保持する。第2リングバッファは、計測された終了タイマ値を保持する。第2のプロセッサは、第1リングバッファに保持された複数の開始タイマ値を所定の周期でサンプリングし、第2リングバッファに保持された複数の終了タイマ値を所定の周期でサンプリングする。
【発明の効果】
【0008】
本発明によれば、従来に比して、より汎用性の高いMCUを使用してプログラムの処理時間を計測することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一つの実施形態の情報処理システムの概略の構成を示す構成図である。
【
図2】
図2は、算出部がサンプリングするデータの一例を示す模式的な図である。
【
図3】
図3は、上記実施形態の情報処理システムの処理の流れを示すフローチャートである。
【
図4】
図4は、算出部のサンプリング周期の一例を示す模式的な図である。
【
図5】
図5は、算出部のサンプリング周期の一例を示す模式的な図である。
【
図6】
図6は、算出部がサンプリングするデータの並べ替え補正の一例を示す模式的な図である。
【
図7】
図7は、算出部がサンプリングするデータの並べ替え補正の一例を示す模式的な図である。
【
図8】
図8は、算出部の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
[実施形態]
以下、添付図面を参照して、情報処理システム1の実施形態を詳細に説明する。以下に記載する実施形態の構成、並びに当該構成によってもたらされる作用及び結果(効果)は、あくまで一例であって、以下の記載内容に限られるものではない。なお、本明細書では、序数は、部品や部材を区別するためだけに用いられており、順番や優先度を示すものではない。
【0011】
以下、本実施形態に係る情報処理システム1の概略と構造について説明する。
図1は、一つの実施形態の情報処理システム1の概略の構成を示す構成図である。本実施形態の情報処理システム1は、例えば、プログラムの処理時間を把握する機能を備えた情報処理システムである。
【0012】
情報処理システム1は、ECU(Electronic Control UnitMicro Controller Unit)10を備えている。ECU10は、MCU(Micro Controller Unit)101と、RAM(Random Access Memory)102とを有する。ECU10は、MCU101やRAM102等の動作を制御する。
【0013】
MCU101は、計測対象プログラムの処理と、計測対象プログラムの処理開始タイミングにおける計測開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける計測終了タイマ値の計測と、を実行する。MCU101は、第1のプロセッサの一例である。
【0014】
ここで、計測開始タイマ値とは、計測対象プログラムの実行開始時刻の値のことである。計測終了タイマ値とは、計測対象プログラムの実行終了時刻の値のことである。以降、計測対象プログラムの処理開始タイミングにおける計測開始タイマ値を計測開始タイマ値、計測対象プログラムの処理終了タイミングにおける計測終了タイマ値を計測終了タイマ値と称することがある。
【0015】
RAM102は、MCU101がプログラムを実行する際の作業領域である。RAM102には、MCU101によって計測される計測対象プログラムの計測開始タイマ値及び計測終了タイマ値が記憶される。MCU101は、RAM102を作業領域として用いて、ROM(不図示)に記憶される計測対象プログラムを、たとえば一定間隔で複数回実行する。
【0016】
RAM102は、第1リングバッファ1021と、第2リングバッファ1022とを有する。第1リングバッファ1021は、MCU101によって計測された開始タイマ値を保持する。第2リングバッファ1022は、MCU101によって計測された終了タイマ値を保持する。
【0017】
後述するように、第1リングバッファ1021は、4つの配列A1、A2、A3、A4を有する。第2リングバッファ1022は、4つの配列B1、B2、B3、B4を有する。
【0018】
MCU101は、第1リングバッファ1021が有する4つの配列A1、A2、A3、A4のそれぞれに、A1、A2、A3、A4の順に計測開始タイマ値を一つずつバッファリングする。MCU101は、第2リングバッファ1022が有する4つの配列B1、B2、B3、B4のそれぞれに、B1、B2、B3、B4の順に計測終了タイマ値を一つずつバッファリングする。以降、第2リングバッファ1022が有する4つの配列B1、B2、B3、B4の構成は、第1リングバッファ1021が有する4つの配列A1、A2、A3、A4の構成と同一のため、詳細な説明を省略し図示しない。第1リングバッファ1021の詳細な構成については後述する。
【0019】
ECU10は、算出部105と接続されている。たとえば、ECU10は、少なくとも一つのプロセッサと、少なくとも一つのメモリと、ECU10と通信する通信インタフェースと、を備えるコンピュータに接続される。算出部105は、第1リングバッファに1021に保持された複数の開始タイマ値を所定の周期でサンプリングする。算出部105は、第2リングバッファ1022に保持された複数の終了タイマ値を所定の周期でサンプリングする。算出部105は、サンプリングする計測開始タイマ値及び計測終了タイマ値を基に、計測対象プログラムの処理時間を算出する。たとえば、算出部105は、上記ECU10に接続されるコンピュータの少なくとも一つのプロセッサにより実現される。算出部105は、第2のプロセッサの一例である。
【0020】
図2は、算出部105がサンプリングするデータの一例を示す模式的な図である。より詳細には、
図2は、算出部105がサンプリングする複数の計測開始タイマ値が、4つの配列A1、A2、A3、A4のそれぞれに保持された状態を示す。
図2において、表の縦軸(A1、A2、A3、A4)は、第1リングバッファ1021及び第2リングバッファ1022が有する配列を示す。また、表の横軸(T1、T2、T3,T4,T5,T6,T7,T8,T9)は、計測対象プログラムが複数回実行されている間における時刻を示す。
【0021】
たとえば、算出部105は、時刻T7においてRAM102をサンプリングし、配列A3に計測開始タイマ値「169138」を取得する。次に、算出部105は、時刻T8においてRAM102をサンプリングし、配列A4に計測開始タイマ値「180842」を取得する。そして、計測開始タイマ値が取得される配列は配列A1に戻り、算出部105は、時刻T9においてRAM102をサンプリングし、配列A1に計測開始タイマ値「193404」を取得する。
【0022】
時刻T6から時刻T7の間において、第1リングバッファ1021は、配列A1,A2,A4の計測開始タイマ値を保持していない。このため、時刻T7において、配列A1,A2,A4には、時刻T5から時刻T6の間において取得された計測開始タイマ値が更新されずに保持される。
【0023】
時刻T3から時刻T4の間では、第1リングバッファ1021は、4つの配列A1、A2、A3、A4のいずれの計測開始タイマ値も保持していない。このため、時刻T4において、配列A1,A2,A3,A4には、時刻T3から時刻T4の間において取得された計測開始タイマ値が更新されずに保持される。
【0024】
第1リングバッファ1021及び第2リングバッファ1022が有する配列の数は、4つに限られない。たとえば、第1リングバッファ1021及び第2リングバッファ1022が有する配列の数が8つの場合、第1リングバッファ1021及び第2リングバッファ1022は、配列A1、A2、A3、A4、A5、A6、A7、A8を有する。算出部105は、時刻T8においてRAM102をサンプリングし、配列A4に計測開始タイマ値「180842」を取得した後、時刻T9においてRAM102をサンプリングし、配列A5に計測開始タイマ値「193404」を取得する。このようにして、配列A1乃至A8のすべての配列のそれぞれに計測開始タイマ値を取得された後、計測開始タイマ値が取得される配列は配列A1に戻り、上記手順を繰り返す。
【0025】
第1リングバッファ1021及び第2リングバッファ1022のそれぞれが有する配列の数は、算出部105のサンプリング周期及び計測対象プログラムの処理速度の少なくとも一方に応じて変更可能である。サンプリング周期が長い場合、サンプリング周期が短い場合よりも同時に更新されるタイマ値の数が多くなり、タイマ値のデータが上書きされる頻度が多くなる。また、プログラムの実行速度が速い場合、1つのサンプリング周期の間に算出部105がサンプリングするタイマ値の数が多くなり、タイマ値のデータが上書きされる頻度が多くなる。このようにタイマ値のデータが上書きされることを抑制するためには、第1リングバッファ1021及び第2リングバッファ1022が有する配列の数を多くすることが有効である。
【0026】
[プログラム処理時間計測の流れ]
次に、
図3乃至
図7を参照し、情報処理システム1における計測対象プログラムの処理時間計測の流れについて説明する。
図3は、上記実施形態の情報処理システムの処理の流れを示すフローチャートである。
図4は、算出部105のサンプリング周期の一例を示す模式的な図である。
図5は、算出部105のサンプリング周期の一例を示す模式的な図である。
図6は、算出部105がサンプリングするデータの並べ替え補正の一例を示す模式的な図である。
図7は、算出部105がサンプリングするデータの並べ替え補正の一例を示す模式的な図である。
【0027】
MCU101が実行するプログラムのうち、計測対象プログラムの実行前には、計測開始タイマ値を取得するプログラムが組み込まれている。また、計測対象プログラムの実行後には、計測終了タイマ値を取得するプログラムが組み込まれている。この構成によって、RAM102は、取得した計測開始タイマ値及び計測終了タイマ値を記憶することができる。
【0028】
図3に示すように、まずステップS11において、MCU101の制御によって、計測開始タイマ値がRAM102に記憶される。そして、計測対象プログラムの処理がMCU101によって実行され(ステップS12)、計測終了タイマ値がRAM102に記憶される(ステップS13)。
【0029】
RAM102に記憶された計測開始タイマ値及び計測終了タイマ値は、第1リングバッファ1021及び第2リングバッファ1022にバッファリングされる。これにより、RAM102に記憶される計測開始タイマ値及び計測終了タイマ値が随時第1リングバッファ1021及び第2リングバッファ1022に保持される(ステップS14)。
【0030】
第1リングバッファ1021及び第2リングバッファ1022が計測開始タイマ値及び計測終了タイマ値を保持できる容量には限りがあるため、第1リングバッファ1021及び第2リングバッファ1022の容量の上限に達した後は、RAM102に記憶した計測開始タイマ値及び計測終了タイマ値のうち古いタイマ値から上書きされる。以上のステップS11乃至ステップS14は、MCU101の処理によって実行される。
【0031】
次に、算出部105は、RAM102を定期的にサンプリングし、第1リングバッファ1021及び第2リングバッファ1022にバッファリングされた計測開始タイマ値及び計測終了タイマ値を取得する(ステップS15)。まず、
図4が示すサンプリングパターンの一例について説明する。算出部105がRAM102をサンプリングする周期は、
図4に示すように、開始CP#1と開始CP#2との間、開始CP#2と開始CP#3との間、開始CP#3と開始CP#4との間である。すなわち、MCU101が計測開始タイマ値を計測する複数のタイミングの間に、算出部105がRAM102をサンプリングする。ここで、開始CP#1とは、一回目に実行される計測対象プログラムの計測開始タイマ値のことである、開始CP#2、開始CP#3、開始CP#4についても同様である。以降の説明において、第2リングバッファ1022で実行されるステップは第1リングバッファ1021と同一のため、第1リングバッファ1021で実行されるステップのみを説明する。
【0032】
このとき、算出部105による一回のサンプリングにつき、一つの計測開始タイマ値が更新される。そして、算出部105によって更新される計測開始タイマ値の配列は、
図4に示すように斜め一直線状となる。このため、算出部105は、サンプリングした計測開始タイマ値の配列及び計測終了タイマ値の配列から計測対象プログラムの処理時間を算出することが容易となる。
【0033】
次に、
図5が示すサンプリングパターンの一例について説明する。算出部105がRAM102をサンプリングする周期は、
図5に示すように、1回目のサンプリングでは開始CP#1と開始CP#2との間、2回目のサンプリングでは開始CP#2と開始CP#3との間、3回目のサンプリングでは開始CP#4と終了CP#4との間である。2回目のサンプリングと3回目のサンプリングの間では、二つの計測開始タイマ値(開始CP#3と開始CP#4)が第1リングバッファ1021に保持される。換言すると、算出部105による2回目のサンプリングと3回目のサンプリングの間において、二つの計測開始タイマ値が更新される。換言すると、算出部105によって更新される第1リングバッファ1021の各配列における開始タイマ値の更新周期が均一にならない。
【0034】
このため、算出部105は、所定の周期でサンプリングした複数の開始タイマ値、及び所定の周期でサンプリングした複数の終了タイマ値の少なくとも一方の時間方向についての配列を補正する。より詳細には、算出部105は、サンプリングした計測開始タイマ値の配列及び計測終了タイマ値の配列から計測対象プログラムの処理時間を算出することが容易となるように、RAM102のサンプリングによって取得した第1リングバッファ1021及び第2リングバッファ1022の計測データ(計測開始タイマ値及び計測終了タイマ値)を解析し、計測データの並べ替え補正を行う。この並べ替え補正について、以下に説明する。
【0035】
算出部105は、第1リングバッファ1021の各配列における開始タイマ値の更新周期が均一になるように、所定の周期でサンプリングした複数の開始タイマ値の時間方向についての配列を補正する。同様に、算出部105は、第2リングバッファ1022の各配列における終了タイマ値の更新周期が均一になるように、所定の周期でサンプリングした複数の終了タイマ値の時間方向についての配列を補正する。
【0036】
より詳細には、算出部105は、ステップS16において計測データを入力した後、
図6に示すように、配列A1乃至配列A4の各配列において、+T方向のデータ探索を行う(ステップS17,矢印Y1)。+T方向のデータ探索において、更新された計測開始タイマ値D1が発見されると、算出部105は、当該タイマ値が発見された位置から+A方向にさらに探索を行う。+A方向に計測データが存在しない場合、算出部105は、-A方向に探索を行う(ステップS18,矢印Y2)。
【0037】
矢印Y2で示すA軸方向のデータ探索において、更新された計測開始タイマ値D2が発見されると、
図7に示すように、+T方向のデータ探索において発見された計測開始タイマ値D1のデータ(計測データ)の並べ替え補正が行われる。より詳細には、+T方向のデータ探索において発見された計測データは、T軸方向における時刻T1乃至T9のうち最も近い位置に移動されて上書き更新される(ステップS19、矢印Y3)。以上のステップS15乃至ステップS20は、算出部105の処理によって実行される。
【0038】
最後に、算出部105は、並び替え補正が行われた第1リングバッファ1021及び第2リングバッファ1022の計測データを基に、計測対象プログラムの処理時間を算出して、処理を終了する。
【0039】
[比較例]
次に、
図8を参照し、本実施形態の比較例について説明する。
図8は、算出部105の処理の流れを示すフローチャートである。
図6に示すように、本実施形態の比較例においては、算出部105が計測開始タイマ値及び計測終了タイマ値を記憶する。以下において、本比較例における算出部105の処理の流れについて説明する。
【0040】
まず、ステップS21において、算出部105は、計測対象プログラムの先頭のプログラムカウンタに到達したことを検知する。そして、算出部105は、当該算出部105の内部時刻を記録する(ステップS22)。
【0041】
計測対象プログラムの処理が完了すると、算出部105は、計測対象プログラムの末尾のプログラムカウンタに到達したことを検知する(ステップS23)。最後に、算出部105は、当該算出部105の内部時刻を記録する(ステップS24)。以上で、算出部105による、計測対象プログラムの開始時刻及び終了時刻の記録が完了する。
【0042】
算出部105は、計測対象プログラムのプログラムカウンタを算出部105で検知する時刻を記録し、計測対象プログラムの処理時間を算出する。この算出部105が検知する時刻は、実際に計測対象プログラムのプログラムカウンタに到達した時刻と誤差を生じることがある。このため、本比較例で算出する計測対象プログラムの処理時間は、本実施形態で算出した計測対象プログラムの処理時間と誤差が生じることがある。
【0043】
以上の実施形態において、情報処理装置は、MCU101と、第1リングバッファ1021と、第2リングバッファ1022とを備える。MCU101は、計測対象プログラムの処理と、計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する。第1リングバッファ1021は、計測された開始タイマ値を保持する。第2リングバッファ1022は、計測された終了タイマ値を保持する。
【0044】
また、情報処理システム1は、MCU101と、第1リングバッファ1021と、第2リングバッファ1022と、算出部105とを備える。MCU101は、計測対象プログラムの処理と、計測対象プログラムの処理開始タイミングにおける開始タイマ値の計測と、計測対象プログラムの処理終了タイミングにおける終了タイマ値の計測と、を実行する。第1リングバッファ1021は、計測された開始タイマ値を保持する。第2リングバッファ1022は、計測された終了タイマ値を保持する。算出部105は、第1リングバッファ1021に保持された複数の開始タイマ値を所定の周期でサンプリングし、第2リングバッファ1022に保持された複数の終了タイマ値を所定の周期でサンプリングする。
【0045】
上述の構成において、計測開始タイマ値及び計測終了タイマ値を記憶するために使用されるRAM102は一つのみであり、使用されるRAM102が切り替わったことを検知できるシステムを有さない。換言すると、ECU10に内蔵されるRAM102は、二つ以上に分割されている必要がない。すなわち、本実施形態の情報処理システム1によれば、算出部105は、従来に比してより汎用性の高いECU10を使用して計測対象プログラムの処理時間を算出することができる。
【0046】
また、本実施形態において、算出部105は、所定の周期でサンプリングした複数の開始タイマ値、及び所定の周期でサンプリングした複数の終了タイマ値の少なくとも一方の時間方向についての配列を補正する。
【0047】
算出部105が、第1リングバッファ1021にバッファリングされる計測開始タイマ値及び第2リングバッファ1022にバッファリングされる計測終了タイマ値のデータ配置を変更しない場合、算出部105がRAM102に記憶されている計測開始タイマ値及び計測終了タイマ値をサンプリングして取得した更新データのデータ配置は、サンプリングのタイミングが遅れると一直線状に整列されない虞がある。データ配置が一直線状に整列されない場合、算出部105の処理速度は低下する。
【0048】
一方、本実施形態の情報処理システム1は、所定の周期でサンプリングした複数の開始タイマ値、及び所定の周期でサンプリングした複数の終了タイマ値の少なくとも一方の時間方向についての配列を補正する。このため、情報処理システム1は、算出部105によるサンプリングのタイミングが遅れて更新データのデータ配置が一直線状に整列されない場合に、当該データ配置を直線状に並べ替える補正を行うことができ、ひいては算出部105の処理速度を向上することができる。
【0049】
また、本実施形態において、算出部105は、第1リングバッファ1021の各配列における開始タイマ値の更新周期が均一になるように、所定の周期でサンプリングした複数の開始タイマ値の時間方向についての配列を補正する。算出部105は、第2リングバッファ1022の各配列における終了タイマ値の更新周期が均一になるように、所定の周期でサンプリングした複数の終了タイマ値の時間方向についての配列を補正する。
【0050】
算出部105がRAM102に記憶されている第1リングバッファ1021の計測開始タイマ値及び計測終了タイマ値をサンプリングして取得した更新データのデータ配置において、同時刻に更新される二つ以上の計測開始タイマ値を有すると、算出部105の処理速度は低下する。
【0051】
しかし、本実施形態の情報処理システム1では、算出部105は、第1リングバッファ1021の各配列における開始タイマ値の更新周期が均一になるように、所定の周期でサンプリングした複数の開始タイマ値の時間方向についての配列を補正する。すなわち、算出部105によって並べ替え補正された第1リングバッファ1021における更新データのデータ配置は、斜めに一直線状に整列される。このため、情報処理システム1は、算出部105によるサンプリングのタイミングが遅れて更新データのデータ配置が一直線状に整列されない場合に、当該データ配置を直線状に並べ替える補正を行うことができ、ひいては算出部105の処理速度を向上することができる。
【0052】
また、本実施形態において、第1リングバッファ1021及び第2リングバッファ1022のそれぞれが有する配列の数は、算出部105のサンプリング周期及び計測対象プログラムの処理速度の少なくとも一方に応じて変更可能である。
【0053】
算出部105によるサンプリングにおいて、第1リングバッファ1021及び第2リングバッファ1022のそれぞれにおける配列の数がサンプリング周期及び計測対象プログラムの実行速度に対して少ない場合、計測開始タイマ値または計測終了タイマ値の一部が上書きされて更新されてしまう虞がある。
【0054】
しかし、本実施形態の情報処理システム1では、第1リングバッファ1021及び第2リングバッファ1022のそれぞれが有する配列の数は、算出部105のサンプリング周期及び計測対象プログラムの処理速度の少なくとも一方に応じて変更可能である。このため、情報処理システム1は、計測開始タイマ値または計測終了タイマ値の一部が上書きされて更新されることを抑制でき、ひいては計測対象プログラムの処理時間の解析精度を向上することができる。
【0055】
以上、本発明の実施の形態について説明したが、上述した実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能である。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、この実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0056】
1 情報処理システム
10 ECU
101 MCU
102 RAM
105 算出部
1021 第1リングバッファ
1022 第2リングバッファ
A1,A2,A3,A4,A5,A6,A7,A8 配列
T1,T2,T3,T4,T5,T6,T7,T8,T9 時刻
D1,D2 計測開始タイマ値