JP2008305238A - Measuring instrument - Google Patents

Measuring instrument Download PDF

Info

Publication number
JP2008305238A
JP2008305238A JP2007152768A JP2007152768A JP2008305238A JP 2008305238 A JP2008305238 A JP 2008305238A JP 2007152768 A JP2007152768 A JP 2007152768A JP 2007152768 A JP2007152768 A JP 2007152768A JP 2008305238 A JP2008305238 A JP 2008305238A
Authority
JP
Japan
Prior art keywords
task
time
measuring device
measured
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007152768A
Other languages
Japanese (ja)
Other versions
JP4853390B2 (en
Inventor
Noboru Takagi
登 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2007152768A priority Critical patent/JP4853390B2/en
Publication of JP2008305238A publication Critical patent/JP2008305238A/en
Application granted granted Critical
Publication of JP4853390B2 publication Critical patent/JP4853390B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To allow a plurality of index times to be measured by a simpler configuration in a measuring instrument for measuring index times showing execution modes of tasks executed by a microcomputer. <P>SOLUTION: One of a plurality of tasks is selected as a measurement object task (object task), and the object task is switched for every intervals of a prescribed time. An index time (wait time) from wake-up to actual execution of the object task, an index time (elapsed time) from actual execution to termination of the object task, an index time (slack time) from termination of execution to next wake-up of the object task, and an index time (execution time) when a CPU is actually assigned to execution of the object task are measured for the prescribed time by providing a timer A for measuring the first four index times and a timer B for measuring the last index time. Thus the plurality of index times can be measured with respect to the plurality of tasks. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、タスクの実行態様を表す指標を計測する計測装置に関する。   The present invention relates to a measuring device that measures an index representing an execution mode of a task.

従来より、例えば車両用電子制御装置に搭載されるマイクロコンピュータでは、OS(オペレーティングシステム)によるマルチタスクの機能を利用して、制御対象を制御するための複数のタスクを実行するようにしている。そして、この種のマイクロコンピュータでは、制御仕様の複雑化に伴い実行すべきタスクは増加しており、このためタスクの処理負荷は増大傾向にある。   2. Description of the Related Art Conventionally, for example, a microcomputer mounted on an electronic control device for a vehicle executes a plurality of tasks for controlling a controlled object by using a multitask function by an OS (Operating System). In this type of microcomputer, the number of tasks to be executed increases as control specifications become more complex, and therefore the task processing load tends to increase.

そこで、タスクの実行態様を解析して、タスクがより効率よく実行されるようにするためのプログラム設計やデバッグが行われている。
タスクの実行態様の解析に際しては、タスクの実行態様を表す以下の(1)〜(5)のような指標が用いられる。
(1)待ち時間:タスクが起床されてから、そのタスクが実際に開始されるまで(マイクロコンピュータのCPUの仕事がそのタスクに割り当てられるまで)の時間。
(2)経過時間:タスクが実際に開始されてから(CPUの仕事がタスクに割り当てられてから)、そのタスクが終了するまでの時間。例えば他の高優先度タスクが割り込みで実行されたような場合には、その割り込みの実行中の時間も含む。
(3)実行時間:経過時間のうち、対象とするタスクの実行にのみ要した総時間。例えば、割り込みによる他の高優先度タスクの実行時間は含まない。
(4)余裕時間:タスクが終了してから、次にそのタスクが再び起床されるまでの時間。
(5)抜け回数:タスクの起床の際、予めタスク毎に登録しておいた多重起床許可回数を超えてしまったため、その起床に係る新たなタスクが実行されなくなる現象の回数。
Therefore, program design and debugging are performed to analyze the task execution mode so that the task is executed more efficiently.
In analyzing the task execution mode, the following indices (1) to (5) representing the task execution mode are used.
(1) Waiting time: The time from when a task is woken up until the task is actually started (until the work of the microcomputer CPU is assigned to the task).
(2) Elapsed time: The time from when the task is actually started (after the CPU work is assigned to the task) until the task is completed. For example, when another high-priority task is executed by an interrupt, the time during execution of the interrupt is also included.
(3) Execution time: Total time required only for execution of the target task among the elapsed time. For example, it does not include the execution time of other high priority tasks due to interrupts.
(4) Spare time: The time from when a task is completed until the task is woken up again.
(5) Number of misses: The number of times that a new task related to wake-up is not executed because the number of wake-ups allowed for each task has been exceeded in advance when the task wakes-up.

例えば特許文献1には、上述(3)の実行時間を計測する実行時間計測装置が記載されている。この実行時間計測装置では、1つのカウンタで、複数のタスクのそれぞれについて、実行時間を計測できるようになっている。   For example, Patent Document 1 describes an execution time measuring device that measures the execution time of (3) above. In this execution time measuring device, the execution time can be measured for each of a plurality of tasks with one counter.

具体的に、以下のように動作して、例えばタスクA及びタスクBの実行時間を計測する。尚、タスクAが最初に開始されたとする。
1.タスクAの実行が開始されると、カウンタがカウント動作を開始する。
2.実行対象がタスクAからタスクBに切り換わる際、その時のカウンタのカウント値(タスクAについてのカウント値)をタスクA用のメモリ領域に記憶しておくと共に、タスクBの開始に伴い、カウンタが例えば0からカウント動作を開始する。
3.その後、実行対象がタスクBからタスクAに切り換わる際、その時のカウンタのカウント値(タスクBについてのカウント値)をタスクB用のメモリ領域に記憶しておくと共に、タスクA用のメモリ領域に記憶させたカウント値をカウンタにセットし、カウンタは、タスクAの開始に伴い、そのセットされたカウント値からカウント動作を継続する。
4.タスクAが終了したときのカウンタのカウント値を、タスクAの実行時間とする。尚、タスクBについても同様である。
Specifically, for example, the execution time of task A and task B is measured as follows. It is assumed that task A is started first.
1. When the execution of task A is started, the counter starts counting.
2. When the execution target is switched from task A to task B, the count value of the counter at that time (count value for task A) is stored in the memory area for task A. For example, the count operation starts from 0.
3. Thereafter, when the execution target is switched from task B to task A, the count value of the counter at that time (count value for task B) is stored in the memory area for task B, and in the memory area for task A. The stored count value is set in the counter, and the counter continues counting from the set count value as the task A starts.
4). The count value of the counter when task A is completed is set as the task A execution time. The same applies to task B.

以上のようにして、タスクA及びタスクBのそれぞれについて、タスクの実行が断続的であった場合でも、1個のカウンタで、実行時間を計測することができる。
尚、例えば特許文献2には、上記(1)の待ち時間を計測する装置が記載され、例えば特許文献3には、上記(4)の余裕時間を計測する装置が記載されている。
特開平5−165655号公報 特開2000−242522号公報 特開2006−90356号公報
As described above, even when task execution is intermittent for each of task A and task B, the execution time can be measured with one counter.
For example, Patent Document 2 describes an apparatus for measuring the waiting time of (1), and Patent Document 3 describes an apparatus for measuring the margin time of (4).
JP-A-5-165655 JP 2000-242522 A JP 2006-90356 A

しかしながら、上記特許文献1に記載の実行時間計測装置では、実行対象のタスクが切り換わる毎に、実行が中断される方のタスクの実行時間をカウンタから取得してメモリに記憶しておくと共に、実行が再開される方のタスクのそれまでの総実行時間をメモリから読み出してカウンタにセットする、というように、多くの処理が必要となる。このため、実行時間計測装置の処理負荷が増大する。   However, in the execution time measuring device described in Patent Document 1, each time the task to be executed is switched, the execution time of the task whose execution is interrupted is acquired from the counter and stored in the memory. Many processes are required, such as reading the total execution time of the task whose execution is to be resumed from the memory and setting it in the counter. For this reason, the processing load of the execution time measuring device increases.

また、タスクのそれぞれについて、実行時間を記憶しておくためのメモリ領域を設ける必要があるため、測定対象のタスクの数が増加すると、より多くのメモリ資源が必要となってしまう。   Further, since it is necessary to provide a memory area for storing the execution time for each task, when the number of tasks to be measured increases, more memory resources are required.

さらに、上記特許文献1の実行時間計測装置では、実行時間以外の指標を計測する場合、計測したい指標毎に、カウンタ及びメモリ領域を設ける必要がある。例えば、上記特許文献1において、上記特許文献2の装置或いは特許文献3の装置のように、待ち時間或いは余裕時間を測定しようとすると、待ち時間測定用或いは余裕時間測定用のカウンタ及びメモリ領域がさらに必要となる。   Furthermore, in the execution time measuring device of Patent Document 1, when measuring an index other than the execution time, it is necessary to provide a counter and a memory area for each index to be measured. For example, in Patent Document 1, if the waiting time or the margin time is measured as in the device of Patent Document 2 or the device of Patent Document 3, the counter and the memory area for waiting time measurement or margin time measurement are displayed. Further required.

本発明は、こうした問題に鑑みなされたもので、マイクロコンピュータが実行するタスクの実行態様を表す指標を計測する計測装置において、より簡単な構成で複数の指標を計測できるようにすることを目的とする。   The present invention has been made in view of such problems, and an object of the present invention is to enable measurement of a plurality of indices with a simpler configuration in a measurement apparatus that measures an index representing an execution mode of a task executed by a microcomputer. To do.

上記目的を達成するためになされた請求項1に記載の計測装置は、マイクロコンピュータが実行する複数のタスクのそれぞれについて、そのタスクの状況毎に、そのタスクがその状況下にある期間(以下、指標時間と言う)を計測するものである。   The measuring device according to claim 1, which has been made to achieve the above object, for each of a plurality of tasks executed by a microcomputer, for each task situation, a period during which the task is under that situation (hereinafter, Is called index time).

具体的に、一定時間毎にカウント動作するカウンタを備え、複数のタスクのうち、何れかのタスクを、予め定められた時間が経過する毎に、計測対象のタスク(以下、対象タスクと言う)として順次選択すると共に、その対象タスクの状況が変化したときのカウンタのカウント値に基づき、その対象タスクの状況が変化する直前の状況についての指標時間を算出するようになっている。   Specifically, a counter that performs a counting operation at regular intervals is provided, and a task to be measured (hereinafter referred to as a target task) every time a predetermined time elapses among a plurality of tasks. Are sequentially selected, and based on the count value of the counter when the status of the target task changes, the index time for the status immediately before the status of the target task changes is calculated.

この請求項1の計測装置では、計測対象のタスク(対象タスク)を順次選択するため、複数のタスクのそれぞれについて、順番に、ある状況についての指標時間を計測することができる。尚、状況の種別は1つの場合も考えられるし、複数の場合も考えられる。   In the measuring apparatus according to the first aspect, since the task to be measured (target task) is sequentially selected, the index time for a certain situation can be measured in order for each of the plurality of tasks. Note that there may be one situation type or a plurality of situation types.

例えば、請求項1の計測装置では、予め定められた切り換え条件に達するまでの間において対象タスクの指標時間を計測するため、その予め定められた切り換え条件に達するまでの間であれば、対象タスクについて複数の指標時間を計測することができる。つまり、その予め定められた切り換え条件に達するまでの間において、ある状況が現れると共にその状況が完結したならば、その状況についての指標時間を計測することができると共に、その出現〜完結した状況が複数あれば、その複数の状況について指標時間を計測できる。   For example, in the measuring device according to claim 1, since the index time of the target task is measured until a predetermined switching condition is reached, the target task can be used until the predetermined switching condition is reached. A plurality of index times can be measured. In other words, until a predetermined switching condition is reached, if a certain situation appears and the situation is completed, the index time for the situation can be measured, and the appearance to the completed situation If there are multiple, the index time can be measured for the multiple situations.

よって、請求項1の計測装置では、複数のタスクのそれぞれについて、複数の指標時間を計測することが可能になる。しかも、カウンタを用いた簡単な構成で指標時間を算出することができるため有利である。具体的に、計測装置が大きくなってしまうことやコストが増大してしまうことを防止することができるし、例えばカウント値を読み出すという簡単な処理で指標時間を算出できるようになって、計測装置の負荷を抑えることができる。   Therefore, in the measuring apparatus according to the first aspect, it is possible to measure a plurality of index times for each of a plurality of tasks. In addition, it is advantageous because the index time can be calculated with a simple configuration using a counter. Specifically, it is possible to prevent the measuring device from becoming large and the cost from increasing, and for example, the index time can be calculated by a simple process of reading the count value. Can reduce the load.

ここで、請求項1の計測装置においては、具体的に、請求項2のように構成すると良い。
請求項2の計測装置では、請求項1の計測装置において、カウンタを少なくとも2つ備えている。そして、対象タスクの実行が開始されてから終了するまでという状況の期間(以下、経過時間と記載する)と、その開始から終了までという状況の期間のうち、その対象タスクの実行のためにマイクロコンピュータのCPUの仕事が割り当てられているという状況の期間(以下、実行時間と記載する)とを計測する。
Here, the measuring device according to claim 1 may be specifically configured as in claim 2.
According to a second aspect of the present invention, there is provided the measuring apparatus according to the first aspect, comprising at least two counters. Then, among the period of time from the start to the end of execution of the target task (hereinafter referred to as elapsed time) and the period of time from the start to the end of the situation, the The period of the situation (hereinafter referred to as execution time) that the work of the CPU of the computer is allocated is measured.

より詳しく、経過時間とは、対象タスクが実際に開始されてから(CPUの仕事がタスクに割り当てられてから)、その対象タスクが終了するまでの時間のことであり、例えば他の高優先度タスクが割り込みで実行されたような場合には、その割り込みの実行中の時間も含む趣旨である。そして、実行時間とは、経過時間のうち、対象タスクの実行にのみ要した総時間のことであり、例えば割り込みによる他の高優先度タスクの実行時間は含まない趣旨である。   More specifically, the elapsed time is the time from when the target task is actually started (after the CPU work is assigned to the task) to the end of the target task. For example, other high priority When a task is executed by an interrupt, it is intended to include the time during execution of the interrupt. The execution time is the total time required only for the execution of the target task in the elapsed time, and does not include the execution time of other high priority tasks due to interruption, for example.

このような経過時間と実行時間とは、期間が重複するため、1つのカウンタで同時に計測することはできない。
一方、請求項2の計測装置では、カウンタを少なくとも2つ備えているため、経過時間計測用及び実行時間計測用に、別々のカウンタを割り当てることができ、このため、経過時間と実行時間とを並行に(同時に)計測することができるようになる。例えば複雑な構成や処理が不要であり、簡単な構成で、経過時間と実行時間とを計測することができる。
Since the elapsed time and the execution time overlap with each other, they cannot be measured simultaneously by one counter.
On the other hand, since the measuring apparatus according to claim 2 includes at least two counters, different counters can be assigned for elapsed time measurement and execution time measurement. It becomes possible to measure in parallel (simultaneously). For example, a complicated configuration and processing are unnecessary, and the elapsed time and execution time can be measured with a simple configuration.

次に、請求項3の計測装置は、請求項1,2の計測装置において、対象タスクが起床されてから、その対象タスクの実行が開始されるまでという状況の期間(以下、待ち時間と記載する)を計測することを特徴としている。   Next, the measuring device according to claim 3 is the measuring device according to claims 1 and 2, in which the period from the time when the target task is woken up until the execution of the target task is started (hereinafter referred to as waiting time). It is characterized by measuring.

請求項3の計測装置では、待ち時間を計測することができ、これによれば、タスクの実行態様の解析に資することができる。
次に、請求項4の計測装置では、請求項1〜3の計測装置において、対象タスクの実行が終了してから、その対象タスクが次に起床されるまでという状況の期間(以下、余裕時間と記載する)を計測することを特徴としている。
According to the third aspect of the present invention, the waiting time can be measured, and according to this, it is possible to contribute to the analysis of the task execution mode.
Next, in the measuring device according to claim 4, in the measuring device according to claims 1 to 3, after the execution of the target task is completed, the period of time until the target task is woken up (hereinafter referred to as a margin time). It is characterized by measuring.

請求項4の計測装置では、余裕時間を計測することができ、これによれば、タスクの実行態様の解析に資することができる。
尚、経過時間と待ち時間と余裕時間とは、期間が重複しないため、1つのカウンタで計測することができる。
In the measuring apparatus according to the fourth aspect, the surplus time can be measured, and according to this, it is possible to contribute to the analysis of the task execution mode.
The elapsed time, the waiting time, and the surplus time can be measured by one counter because the periods do not overlap.

次に、請求項5の計測装置は、請求項1〜4の計測装置において、複数のタスクのそれぞれは、起床のタイミングが予め定められており、対象タスクの起床タイミングで、その対象タスクが実行されない現象の回数を計測する検出手段を備えていることを特徴としている。   Next, the measuring device according to claim 5 is the measuring device according to claims 1 to 4, wherein each of the plurality of tasks has a predetermined wake-up timing, and the target task is executed at the wake-up timing of the target task. It is characterized by comprising a detecting means for measuring the number of phenomena that are not performed.

例えば、対象タスクの起床タイミングにおいて、予めその対象タスクについて登録しておいた多重起床許可回数を超えてしまっていると、その対象タスクが実行されなくなる(いわゆる「抜け」が生じる)。   For example, if the number of allowed multiple wakeups registered in advance for the target task has been exceeded at the wakeup timing of the target task, the target task is not executed (so-called “missing” occurs).

請求項5の計測装置では、対象タスクの起床タイミングで、その対象タスクが実行されない現象、つまり抜けが生じるという現象の回数を計測することができ、これによれば、タスクの実行態様の解析に資することができる。   In the measuring apparatus according to claim 5, the number of phenomena that the target task is not executed, that is, a phenomenon that the target task is lost can be measured at the wake-up timing of the target task. Can contribute.

次に、請求項6の計測装置では、請求項1〜5の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の情報は、いつ計測できた情報かが識別可能に記憶されるように構成されている。   Next, in the measuring device according to claim 6, in the measuring device according to claims 1 to 5, the index time for the same situation is measured a plurality of times for any one of the plurality of tasks, and the measurement can be performed. The information on the index time is configured so that information that can be measured is stored in an identifiable manner.

これによれば、例えば指標時間の長さの変化等が時系列で分かるようになる。このため、統計的な検証が可能となり、タスクの実行態様の解析に有利である。例えば、指標時間のデータを加工したりすると共に、その加工後のデータを時系列で整理したりすることで、より精密な検証が可能となる。   According to this, for example, a change in the length of the index time can be understood in time series. Therefore, statistical verification is possible, which is advantageous for analysis of task execution modes. For example, it is possible to perform more precise verification by processing index time data and organizing the processed data in time series.

次に、請求項7の計測装置では、請求項1〜6の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最大値を、タスクの状況の種別毎に算出するようになっている。   Next, in the measuring device according to claim 7, in the measuring device according to claims 1 to 6, the index time for the same situation is measured a plurality of times for any one of the plurality of tasks, and the measurement can be performed. Of the length of the index time, the maximum value is calculated for each type of task status.

指標時間の最大値が分かれば、その最大値が許容できるか否かの判断ができるようになると共に、その最大値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。   If the maximum value of the index time is known, it will be possible to determine whether the maximum value is acceptable, adjust the priority for each task so that the maximum value is within the allowable range, It is possible to take measures such as dividing.

次に、請求項8の計測装置は、請求項1〜7の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最小値を、タスクの状況の種別毎に算出するようになっている。   Next, the measurement device according to claim 8 is the measurement device according to claims 1 to 7, and the index time for the same situation is measured a plurality of times for any one of the plurality of tasks, and the measurement can be performed. Of the length of the index time, the minimum value is calculated for each type of task status.

指標時間の最小値が分かれば、請求項7と同様に、その最小値が許容できるか否かの判断ができるようになると共に、その最小値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。   If the minimum value of the index time is known, it is possible to determine whether or not the minimum value is acceptable as in the case of claim 7, and the priority for each task so that the minimum value is within the allowable range. You can take measures such as adjusting tasks and dividing tasks.

次に、請求項9の計測装置では、請求項1〜8の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さの平均値を、タスクの状況の種別毎に算出するようになっている。   Next, in the measuring device according to claim 9, in the measuring device according to claims 1 to 8, the index time for the same situation is measured a plurality of times for any one of the plurality of tasks, and the measurement can be performed. An average value of the length of the index time is calculated for each task status type.

マイクロコンピュータの負荷等は刻一刻と変化し、指標時間の長さのばらつきは大きくなる。このため、個々の指標時間のみでは、有効な解析を行うことは難しい。
この点、請求項9の計測装置では、指標時間の平均値を算出するため、タスクの実行態様をより有効に解析できるようになる。そして、例えば、平均値が許容できるか否かの判断ができるようになると共に、その平均値が許容範囲内に収まるようにタスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。
The load on the microcomputer changes every moment, and the length of the index time varies greatly. For this reason, it is difficult to perform an effective analysis only with individual index times.
In this regard, in the measurement device according to the ninth aspect, since the average value of the index time is calculated, the task execution mode can be analyzed more effectively. For example, it is possible to determine whether or not the average value is acceptable, and to adjust the priority for each task so that the average value is within the allowable range or to divide the task. Can be dealt with.

例えば、複数のタスクのそれぞれについて、上述の実行時間についての平均値を算出すれば、そのタスクのそれぞれについてマイクロコンピュータが備えるCPUの占有率を算出することもできるようになり、これによりCPUの負荷の度合いを推測することができる。さらに、CPUの負荷の度合いが適切なものとなるように、上述のように、タスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとり得るようになる。   For example, if the average value for the above execution time is calculated for each of a plurality of tasks, the CPU occupancy of the microcomputer can be calculated for each of the tasks. Can be estimated. Further, as described above, it is possible to take measures such as adjusting the priority for each task or dividing the task so that the degree of load on the CPU becomes appropriate.

次に、請求項10の計測装置は、請求項1〜9の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、その計測できた指標時間の長さと、その長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっている。   Next, the measurement device according to claim 10 is the measurement device according to claims 1 to 9, wherein the index time for the same situation is measured a plurality of times for any one of the plurality of tasks, and the measurement can be performed. Frequency distribution information indicating the length of the index time and the occurrence frequency for each length is output as analysis information.

これによれば、指標時間の長さの度数分布が簡単に分かるようになって、タスクの実行態様の解析がよりし易くなる。
次に、請求項11の計測装置は、請求項1〜10の計測装置において、複数のタスクのうち、何れかのタスクについて、同じ状況についての指標時間を複数回分計測すると共に、マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっている。
According to this, the frequency distribution of the length of the index time can be easily understood, and the task execution mode can be more easily analyzed.
Next, the measurement apparatus according to claim 11 is the measurement apparatus according to claims 1 to 10, wherein, for any one of the plurality of tasks, the measurement time for the same situation is measured a plurality of times, and the microcomputer is provided. The load on the CPU changes, and frequency distribution information indicating the length of the index time and the occurrence frequency for each length for each degree of the load on the CPU is output as analysis information. ing.

これによれば、CPUの負荷の度合い毎の、指標時間の長さの度数分布も分かるようになり、タスクの実行態様の解析がよりし易くなる。
次に、請求項12の計測装置は、請求項10,11の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの種類毎に色分けされていることを特徴としている。
According to this, the frequency distribution of the length of the index time for each degree of load of the CPU can be understood, and the task execution mode can be easily analyzed.
Next, a measurement device according to a twelfth aspect is the measurement device according to the tenth or eleventh aspect, wherein the analysis information is a graph and the plot points of the graph are color-coded for each type of task. It is said.

これによれば、指標時間の度数分布が視覚的に認識しやすいものとなる。また、タスク毎の情報を認識し易くなる。
次に、請求項13の計測装置は、請求項10〜12の計測装置において、解析用情報は、グラフであると共に、そのグラフのプロット点が、タスクの状況の種別毎に色分けされていることを特徴としている。
According to this, the frequency distribution of the index time is easily visually recognized. In addition, it becomes easier to recognize information for each task.
Next, in the measurement device according to claim 13, in the measurement device according to claims 10 to 12, the analysis information is a graph, and the plot points of the graph are color-coded for each type of task status It is characterized by.

これによれば、請求項12のように、指標時間の度数分布が視覚的に認識しやすいものとなる。また、タスクの状況の種別毎の情報を認識し易くなる。
次に、請求項14の計測装置は、請求項1〜13の計測装置において、切り換え条件は、所定の時間が経過することであることを特徴としている。
According to this, as in the twelfth aspect, the frequency distribution of the index time is easily visually recognized. Further, it becomes easier to recognize information for each type of task status.
Next, a measuring device according to a fourteenth aspect is characterized in that, in the measuring device according to the first to thirteenth aspects, the switching condition is that a predetermined time elapses.

尚、所定の時間は、どのような長さでも良い趣旨である。例えば、タスク毎に同じ時間であっても良いし、タスク毎に異なる時間であっても良い。さらに、例えば、予めメモリに時間の長さを記憶しておいても良いし、あるルールや計算式を定めておき、時間の長さがそのルールや計算式に従ってその都度算出される構成にしても良い。   Note that the predetermined time may be any length. For example, the same time may be used for each task, or a different time may be used for each task. Furthermore, for example, the length of time may be stored in advance in the memory, or a certain rule or calculation formula is determined, and the time length is calculated each time according to the rule or calculation formula. Also good.

所定の時間が経過することを切り換え条件とすれば、切り換え条件の設定を簡単にできると共に、その切り換え条件に達したか否かの判断が容易となって、計測装置の構成を簡素化できる。   If the switching condition is that a predetermined time elapses, the setting of the switching condition can be simplified, and it is easy to determine whether or not the switching condition has been reached, thereby simplifying the configuration of the measuring device.

次に、請求項15の計測装置は、請求項1〜13の計測装置において、切り換え条件は、指標時間の算出回数が所定の回数になることであることを特徴としている。
尚、算出回数について、1回とは、複数種類の指標時間のそれぞれを一度ずつひととおり算出した時点で1回とカウントする趣旨である。これによれば、指標時間の長さにかかわらず、複数種類の指標時間が確実に計測されるようになる。尚、勿論、複数種類の指標時間の何れかを算出するたびに、算出回数を1回とカウントするようにしても良い。
Next, a measuring device according to a fifteenth aspect is characterized in that, in the measuring device according to the first to thirteenth aspects, the switching condition is that the index times are calculated a predetermined number of times.
As for the number of times of calculation, the term “one time” means that each of a plurality of types of index time is counted once when each time is calculated. According to this, regardless of the length of the index time, a plurality of types of index times can be reliably measured. Of course, every time one of a plurality of types of index times is calculated, the number of calculations may be counted as one.

以下に、本発明の実施形態を図面に基づき説明する。
図1において、マイコン10及びデバッグ装置3は、本発明の計測装置に相当している。特に、マイコン10の後述するソフト処理部12、ハードカウンタ部14、タスクID記憶部16、タスクID書換部18、及び計測結果格納部20の機能が計測装置に相当している。
Embodiments of the present invention will be described below with reference to the drawings.
In FIG. 1, the microcomputer 10 and the debugging device 3 correspond to the measuring device of the present invention. In particular, the functions of the software processing unit 12, the hard counter unit 14, the task ID storage unit 16, the task ID rewriting unit 18, and the measurement result storage unit 20 described later of the microcomputer 10 correspond to the measurement device.

そして、そのマイコン10の図示しないCPUが実行するタスクについて、指標時間として、待ち時間、経過時間、実行時間、余裕時間を計測する。これらの指標時間の内容については、従来技術の説明の欄で記載した通りであり、ここでは説明を省略する。   And about the task which CPU which the microcomputer 10 does not illustrate performs, waiting time, elapsed time, execution time, and margin time are measured as index time. The contents of these index times are as described in the description section of the prior art, and the description is omitted here.

マイコン10は、車両を制御する電子制御装置(以下、ECUと記載する)2に搭載されている。また、デバッグ装置3は、ECU2の外部に設けられ、そのECU2と通信可能に接続されている。   The microcomputer 10 is mounted on an electronic control device (hereinafter referred to as ECU) 2 that controls the vehicle. The debugging device 3 is provided outside the ECU 2 and connected to the ECU 2 so as to be communicable.

次に、マイコン10の構成について説明する。
マイコン10は、前述のように、ソフト処理部12と、ハードカウンタ部14と、タスクID記憶部16と、タスクID書換部18と、計測結果格納部20とを備えている。
Next, the configuration of the microcomputer 10 will be described.
As described above, the microcomputer 10 includes the software processing unit 12, the hard counter unit 14, the task ID storage unit 16, the task ID rewriting unit 18, and the measurement result storage unit 20.

ソフト処理部12は、オペレーティングシステム(以下、OSと記載する)の管理の下、タスクを実行する。尚、マイコン10に搭載されるOSは、同時に複数のタスクを並行して行うマルチタスクOSである。   The software processing unit 12 executes a task under the management of an operating system (hereinafter referred to as OS). The OS installed in the microcomputer 10 is a multitasking OS that performs a plurality of tasks in parallel.

ハードカウンタ部14は、2つのハードカウンタ14A,14Bから構成される。ハードカウンタ14A,14Bは、その名の通りハードにより構成される。
図2に、そのハードカウンタ14A,14Bの詳細を示す。
The hard counter unit 14 includes two hard counters 14A and 14B. The hard counters 14A and 14B are configured by hardware as the name suggests.
FIG. 2 shows details of the hard counters 14A and 14B.

ハードカウンタ14A,14Bは、図2に示すように、一定時間毎にカウントアップするタイマと、タスク計測タイマレジスタと、タスク計測タイマコントロールレジスとからなる。   As shown in FIG. 2, each of the hard counters 14A and 14B includes a timer that counts up every predetermined time, a task measurement timer register, and a task measurement timer control register.

タスク計測タイマレジスタは、本例では、32ビットの読み出し専用レジスタであり、図2にも示すように、上位24ビットにタイマのカウント値が格納される。尚、下位8ビットは使用されておらず、本例ではその下位8ビットにダミーデータとして0が格納されている。   In this example, the task measurement timer register is a 32-bit read-only register, and the count value of the timer is stored in the upper 24 bits as shown in FIG. The lower 8 bits are not used. In this example, 0 is stored as dummy data in the lower 8 bits.

タスク計測タイマコントロールレジスタは、タイマの動作を制御するための情報が書き込まれるレジスタであり、タイマの動作に応じて4つの領域を有している。
例えば、タイマの動作としては、停止、開始、再開始、リセットの4つがある。停止は、カウント値はそのままにして(維持して)カウント動作を停止することであり、開始は、現在のカウント値からカウントアップを継続することであり、再開始は、カウント値を0に戻し、その0からカウントアップを開始することであり、リセットは、カウント値を0に戻すと共に、カウントアップを停止することである。
The task measurement timer control register is a register in which information for controlling the operation of the timer is written, and has four areas according to the operation of the timer.
For example, there are four timer operations: stop, start, restart, and reset. Stopping is to stop the count operation while keeping the count value as it is (starting), starting is to continue counting up from the current count value, and restarting returns the count value to 0 The count-up is started from 0, and the reset is to return the count value to 0 and stop the count-up.

タスク計測タイマコントロールレジスタは、停止、開始、再開始、リセットの項目がそれぞれ割り当てられた4つの領域を有している。そして、例えば、停止の項目が割り当てられた領域に0が書き込まれることで、タイマが停止するようになっている。以下、同様に、開始の項目が割り当てられた領域に0が書き込まれることでタイマが開始し、再開始の項目が割り当てられた領域に0が書き込まれることでタイマが再開始し、リセットの項目が割り当てられた領域に0が書き込まれることでタイマがリセットされる。   The task measurement timer control register has four areas to which items of stop, start, restart, and reset are respectively assigned. For example, the timer is stopped by writing 0 in the area to which the stop item is assigned. Similarly, the timer starts when 0 is written in the area to which the start item is assigned, and the timer restarts when 0 is written in the area to which the restart item is assigned. The timer is reset by writing 0 in the area to which is assigned.

そして、本実施形態では、ハードカウンタ14Aにより、待ち時間、経過時間、及び余裕時間が計測される。そして、ハードカウンタ14Bにより、実行時間が計測される。尚、以下、ハードカウンタ14Aが備えるタイマをタイマAと記載し、ハードカウンタ14Bが備えるタイマをタイマBと記載する。   In this embodiment, the hardware counter 14A measures the waiting time, elapsed time, and margin time. Then, the execution time is measured by the hard counter 14B. Hereinafter, the timer provided in the hard counter 14A is referred to as timer A, and the timer provided in the hard counter 14B is referred to as timer B.

タスクID記憶部16は、上記の指標時間を計測する計測対象としてのタスクを特定するためのタスクIDを記憶しておく機能を有する。ここで、本実施形態では、マイコン10のCPUが実行するタスク毎に、そのタスクに固有のタスクIDが割り当てられている。具体的に、タスク毎に、通し番号がタスクIDとして付与される。例えば、タスクの個数が10個であれば、そのタスクのそれぞれに、0〜9の番号が付与される。タスクID記憶部16は、具体的に、RAMから構成される。   The task ID storage unit 16 has a function of storing a task ID for specifying a task as a measurement target for measuring the index time. Here, in this embodiment, a task ID unique to each task is assigned to each task executed by the CPU of the microcomputer 10. Specifically, a serial number is assigned as a task ID for each task. For example, if the number of tasks is 10, numbers 0 to 9 are assigned to the tasks. The task ID storage unit 16 is specifically composed of a RAM.

図3は、タスクID記憶部16の構成図である。図3に示すように、タスクID記憶部16は、計測対象のタスクIDを記憶する領域を有している。
タスクID書換部18は、タスクID記憶部16に記憶されるタスクIDを書き換える機能を有する。
FIG. 3 is a configuration diagram of the task ID storage unit 16. As illustrated in FIG. 3, the task ID storage unit 16 has an area for storing a task ID to be measured.
The task ID rewriting unit 18 has a function of rewriting the task ID stored in the task ID storage unit 16.

計測結果格納部20は、計測結果、つまり計測した指標時間の情報を記憶しておく機能を有する。具体的に、RAMから構成される。
図4は、計測結果格納部20の構成図である。
The measurement result storage unit 20 has a function of storing measurement results, that is, information on the measured index time. Specifically, it is composed of a RAM.
FIG. 4 is a configuration diagram of the measurement result storage unit 20.

計測結果格納部20は、図4に示すように、待ち時間、経過時間、実行時間、余裕時間のそれぞれについて、計測結果を記憶するための領域をそれぞれ有している。この領域は、タスクの種類毎に存在する。言い換えると、計測結果格納部20には、指標時間が、何れのタスクについてのものかが識別可能に記憶されるようになっている。尚、各領域には、最新の計測結果が記憶されるようになっている。具体的に、計測結果格納部20には、計測結果が順次上書きされるようになっている。また、デバッグ装置3は、計測結果格納部20に記憶された計測結果を定期的に取得し、いつ計測できたものかを識別可能に記憶するようになっている。   As shown in FIG. 4, the measurement result storage unit 20 has areas for storing measurement results for each of the waiting time, elapsed time, execution time, and margin time. This area exists for each task type. In other words, in the measurement result storage unit 20, the index time is stored so as to be identifiable as to which task. In each area, the latest measurement result is stored. Specifically, the measurement results are sequentially overwritten in the measurement result storage unit 20. Further, the debugging device 3 periodically acquires the measurement results stored in the measurement result storage unit 20 and stores the measurement results in an identifiable manner.

次に、図5は、タスクID書換部18が実行するタスクID書換処理を表すフローチャートである。タスクID書換部18は、図5の処理を定期的に実行することで、予め定められた切換時間間隔毎に、タスクID記憶部16のタスクIDを書き換える。切換時間の長さは、予め定められている。尚、その切換時間の長さは、マイコン10が備える図示しないROMに予め記憶しておいても良いし、RAMに記憶しておくようにしても良い。   Next, FIG. 5 is a flowchart showing a task ID rewriting process executed by the task ID rewriting unit 18. The task ID rewriting unit 18 rewrites the task ID in the task ID storage unit 16 at predetermined switching time intervals by periodically executing the process of FIG. The length of the switching time is determined in advance. The length of the switching time may be stored in advance in a ROM (not shown) included in the microcomputer 10 or may be stored in the RAM.

図5の処理では、まず、S110で、時間計測用の図示しないカウンタにより計測される時間(以下、カウンタ計測時間と記載する)の長さが、切換時間の長さよりも大きいか否かを判定する。   In the process of FIG. 5, first, in S110, it is determined whether or not the length of time measured by a counter (not shown) for time measurement (hereinafter referred to as counter measurement time) is greater than the length of the switching time. To do.

S110で、カウンタ計測時間が切換時間以下であると判定すると(S110:NO)、そのまま当該処理を終了する。
一方、S110で、カウンタ計測時間が切換時間より大きいと判定すると(S110:YES)、S120に移行する。
If it is determined in S110 that the counter measurement time is equal to or shorter than the switching time (S110: NO), the process is terminated as it is.
On the other hand, if it is determined in S110 that the counter measurement time is longer than the switching time (S110: YES), the process proceeds to S120.

S120では、時間計測用の図示しないカウンタの値を0にする。つまり、カウンタ計測時間を0にリセットする。
次に、S130に進み、割り込みを禁止する。これは、次のS140の処理が確実に実行されるようにするためである。
In S120, the value of a counter (not shown) for time measurement is set to zero. That is, the counter measurement time is reset to zero.
Next, the process proceeds to S130, and interrupts are prohibited. This is to ensure that the next step S140 is executed.

続くS140では、タスクID記憶部16に記憶されたタスクIDをインクリメントする。つまり、タスクID記憶部16に記憶されたタスクIDとしての番号をインクリメントする。   In subsequent S140, the task ID stored in the task ID storage unit 16 is incremented. That is, the number as the task ID stored in the task ID storage unit 16 is incremented.

次に、S150に進み、タスクID記憶部16に記憶されたタスクIDとしての番号が、タスクの個数の上限値より小さいか否かを判定する。言い換えると、複数のタスクのそれぞれが全て、計測対象として指定されたか否かを判定する。   In step S150, it is determined whether the task ID number stored in the task ID storage unit 16 is smaller than the upper limit value of the number of tasks. In other words, it is determined whether each of the plurality of tasks has been designated as a measurement target.

S150で、タスクIDがタスク個数の上限値以上と判定すると(S150::NO)、複数のタスクのそれぞれが全て、計測対象として指定されたと判断して、S160に移行し、タスクID記憶部16に0を書き込む。そして次に、S170に進み、割り込みを許可する。そしてその後、当該処理を終了する。   If it is determined in S150 that the task ID is equal to or greater than the upper limit of the number of tasks (S150 :: NO), it is determined that all of the plurality of tasks are all designated as measurement targets, the process proceeds to S160, and the task ID storage unit 16 Write 0 to Then, the process proceeds to S170 and interrupts are permitted. Thereafter, the process is terminated.

一方、S150で、タスクID記憶部16に記憶されたタスクIDとしての番号がタスク個数の上限値より小さいと判定すると(S150::YES)、S170に移行すると共に、その後、当該処理を終了する。   On the other hand, if it is determined in S150 that the number as the task ID stored in the task ID storage unit 16 is smaller than the upper limit value of the number of tasks (S150 :: YES), the process proceeds to S170 and thereafter the process is terminated. .

次に、図6は、ソフト処理部12が実行する起床時処理のフローチャートである。この起床時処理は、タスクの起床時に開始される。
この処理では、まず、S210で、起床に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、起床に係るタスクが、計測対象のタスクか否かを判定する。
Next, FIG. 6 is a flowchart of the wake-up process executed by the software processing unit 12. This wake-up process is started when a task wakes up.
In this process, first, in S210, it is determined whether or not the task ID related to getting up is the same as the task ID stored in the task ID storage unit 16. That is, it is determined whether or not the task related to getting up is a task to be measured.

S210で、起床に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S210:NO)、今回起床したタスクは計測対象でないと判断して、当該処理を終了する。   If it is determined in S210 that the task ID relating to the wake-up is not the same as the task ID stored in the task ID storage unit 16 (S210: NO), it is determined that the task woken up this time is not a measurement target, and the process ends. .

一方、S210で、起床に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S210:YES)、S220に移行する。
S220では、タスクの起床が成功したか否かを判定し、成功したと判定すると(S220::YES)、S230に移行する。
On the other hand, if it is determined in S210 that the task ID related to getting up is the same as the task ID stored in the task ID storage unit 16 (S210: YES), the process proceeds to S220.
In S220, it is determined whether or not the task is successfully woken up. If it is determined that the task is successful (S220 :: YES), the process proceeds to S230.

S230では、タイマAのカウント値を、余裕時間の生値として計測結果格納部20に記憶させる。タイマAは、後述するように、タスクの実行が終了したときに0からカウントアップを開始するようになっており(再開始)、このため、タスクの起床時のタイマAのカウント値は、余裕時間を表す。   In S230, the count value of the timer A is stored in the measurement result storage unit 20 as a raw value of the margin time. As will be described later, the timer A starts counting up from 0 when the execution of the task is completed (restart). Therefore, the count value of the timer A when the task is woken up is not enough. Represents time.

次に、S240に進み、タイマAを再開始させる。さらに、S250に進み、タイマBをリセットする。そしてその後、当該処理を終了する。尚、S230〜S250の処理は、同時に実行される趣旨である。   Next, in S240, the timer A is restarted. In step S250, the timer B is reset. Thereafter, the process is terminated. Note that the processes of S230 to S250 are executed simultaneously.

一方、S220でタスクの起床が成功しなかった、つまり、タスクの起床が失敗したと判定すると(S220:NO)、S260に移行する。
S260では、タスクの起床の失敗が、所定回数を超えてタスクを起床しようとしたためか否かを判定する。マルチタスクOSでは、例えば同時に起床可能なタスクの数が予め設定される。そして、この同時に起床可能なタスクの数を超えてタスクを起床することはできないようになっている。
On the other hand, if it is determined in S220 that the task wakeup has not succeeded, that is, the task wakeup has failed (S220: NO), the process proceeds to S260.
In S260, it is determined whether or not the task wake-up failure is caused by trying to wake up the task more than a predetermined number of times. In the multitask OS, for example, the number of tasks that can be woken up simultaneously is preset. Further, it is impossible to wake up tasks exceeding the number of tasks that can be woken up at the same time.

S260で、所定回数を超えてタスクを起床しようとしたためでないと判定すると(S260:NO)、何らかの異常が生じているためと判断して、そのまま当該処理を終了する。   If it is determined in S260 that it is not because the task has been attempted to wake up more than a predetermined number of times (S260: NO), it is determined that some abnormality has occurred, and the process is terminated as it is.

一方、S260で、所定回数を超えてタスクを起床しようとしたためと判定すると(S260:YES)、「抜け」が生じたと判断して、S270に進む。本実施形態で、「抜け」とは、起床可能な回数を超えてタスクを起床しようとしたために、その起床しようとしたタスクが起床できなかった現象のことを言う。   On the other hand, if it is determined in S260 that the task has been attempted to wake up over a predetermined number of times (S260: YES), it is determined that “missing” has occurred, and the process proceeds to S270. In the present embodiment, “missing” refers to a phenomenon in which a task that has attempted to wake up cannot be woken up because the task has been woken up more times than can be woken up.

S270では、抜け回数をカウントする図示しないカウンタをインクリメントする。そしてその後、当該処理を終了する。
次に、図7は、ソフト処理部12が実行する開始時処理のフローチャートである。この開始時処理は、タスクが実際に実行開始される際に開始される。
In S270, a counter (not shown) for counting the number of omissions is incremented. Thereafter, the process is terminated.
Next, FIG. 7 is a flowchart of a start process executed by the software processing unit 12. This start time process is started when the task is actually started.

この処理では、まず、S310で、開始に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回実行開始されるタスクが、計測対象のタスクか否かを判定する。   In this process, first, in S310, it is determined whether or not the start task ID is the same as the task ID stored in the task ID storage unit 16. That is, it is determined whether the task to be started this time is a measurement target task.

S310で、実行開始されるタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回実行開始されるタスクは計測対象でないと判断して、当該処理を終了する。   If it is determined in S310 that the task ID to be started is not the same as the task ID stored in the task ID storage unit 16 (S310: NO), it is determined that the task to be started this time is not a measurement target, and the process Exit.

一方、S310で、実行開始されるタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S310:YES)、S320に移行する。
S320では、タイマAのカウント値を、待ち時間の生値として、計測結果格納部20に記憶させる。前述のS240で、タスク起床時にタイマAが再開始するため、タスクの実行が開始されるときのタイマAのカウント値は、待ち時間を表す。
On the other hand, if it is determined in S310 that the task ID to be started is the same as the task ID stored in the task ID storage unit 16 (S310: YES), the process proceeds to S320.
In S320, the count value of the timer A is stored in the measurement result storage unit 20 as a raw value of the waiting time. In S240 described above, since the timer A is restarted when the task wakes up, the count value of the timer A when the execution of the task is started represents a waiting time.

次に、S330に進み、タイマAを再開始させる。さらに、S340に進み、タイマBを再開始させる。そしてその後、当該処理を終了する。尚、S320〜S340の処理は、同時に実行される趣旨である。   Next, in S330, the timer A is restarted. In step S340, the timer B is restarted. Thereafter, the process is terminated. Note that the processes of S320 to S340 are executed simultaneously.

次に、図8は、ソフト処理部12が実行するレディ時処理のフローチャートである。このレディ時処理は、計測対象のタスクの状態がレディ(Ready)になったとき、具体的に、計測対象のタスク以外のタスクの処理にCPUの仕事が割り当てられ、計測対象のタスクの実行が保留されたときに開始される処理のフローチャートである。   Next, FIG. 8 is a flowchart of the ready process executed by the software processing unit 12. In this ready process, when the state of the task to be measured becomes Ready, specifically, the CPU work is assigned to the processing of the task other than the task to be measured, and the task to be measured is executed. It is a flowchart of the process started when it is suspended.

この処理では、まず、S410で、実行の保留に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回実行が保留されるタスクが、計測対象のタスクか否かを判定する。   In this process, first, in S410, it is determined whether or not the task ID related to the suspension of execution is the same as the task ID stored in the task ID storage unit 16. That is, it is determined whether or not the task whose execution is suspended is a task to be measured.

S410で、実行の保留に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S410:NO)、今回実行が保留されるタスクは計測対象でないと判断して、当該処理を終了する。   If it is determined in S410 that the task ID related to the suspension of execution is not the same as the task ID stored in the task ID storage unit 16 (S410: NO), it is determined that the task whose execution is suspended is not a measurement target, The process ends.

一方、S410で、実行の保留に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S410:YES)、S420に移行する。
S420では、タイマBを停止させる。そしてその後、当該処理を終了する。
On the other hand, if it is determined in S410 that the task ID related to the suspension of execution is the same as the task ID stored in the task ID storage unit 16 (S410: YES), the process proceeds to S420.
In S420, the timer B is stopped. Thereafter, the process is terminated.

次に、図9は、ソフト処理部12が実行する再開時処理のフローチャートである。この再開時処理は、実行が保留されたタスクの処理が再開されたときに開始される。
この処理では、まず、S510で、再開に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回処理が再開されるタスクが、計測対象のタスクか否かを判定する。
Next, FIG. 9 is a flowchart of the restart process executed by the software processing unit 12. This restart processing is started when the processing of a task whose execution has been suspended is restarted.
In this process, first, in S510, it is determined whether or not the task ID related to resumption is the same as the task ID stored in the task ID storage unit 16. That is, it is determined whether or not the task whose processing is restarted this time is a task to be measured.

S310で、再開に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回処理が再開されるタスクは計測対象でないと判断して、当該処理を終了する。   If it is determined in S310 that the task ID related to the restart is not the same as the task ID stored in the task ID storage unit 16 (S310: NO), it is determined that the task whose process is to be restarted is not a measurement target, and the process Exit.

一方、S510で、再開に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S510:YES)、S520に移行する。
S520では、タイマBを開始させる。前述のように、計測対象のタスク以外のタスクの処理にCPUの仕事が割り当てられたときタイマBは停止し(S420)、そして、計測対象のタスクの処理が再開するとタイマBが開始する(S520)。このようにして、計測対象のタスクの実行時間が計測される。
On the other hand, if it is determined in S510 that the task ID related to resumption is the same as the task ID stored in the task ID storage unit 16 (S510: YES), the process proceeds to S520.
In S520, timer B is started. As described above, the timer B is stopped when the CPU work is assigned to the processing of the task other than the task to be measured (S420), and the timer B is started when the processing of the task to be measured is resumed (S520). ). In this way, the execution time of the task to be measured is measured.

次に、図10は、ソフト処理部12が実行する終了時処理のフローチャートである。この終了時処理は、タスクの実行終了時に開始される。
この処理では、まず、S610で、終了に係るタスクIDが、タスクID記憶部16に記憶されたタスクIDと同じか否かを判定する。つまり、今回終了するタスクが、計測対象のタスクか否かを判定する。
Next, FIG. 10 is a flowchart of end processing executed by the software processing unit 12. This end-time process is started at the end of task execution.
In this process, first, in S610, it is determined whether or not the task ID related to the end is the same as the task ID stored in the task ID storage unit 16. That is, it is determined whether or not the task to be finished this time is a measurement target task.

S610で、終了に係るタスクIDがタスクID記憶部16に記憶されたタスクIDと同じでないと判定すると(S310:NO)、今回終了するタスクは計測対象のタスクでないと判断して、当該処理を終了する。   If it is determined in S610 that the task ID related to the end is not the same as the task ID stored in the task ID storage unit 16 (S310: NO), it is determined that the task to be ended this time is not a task to be measured, and the process is performed. finish.

一方、S610で、終了に係るタスクのIDがタスクID記憶部16に記憶されたタスクIDと同じであると判定すると(S610:YES)、S620に移行する。
S620では、タイマAのカウント値を、経過時間の生値として計測結果格納部20に記憶させる。前述のように、計測対象のタスクの実行が実際に開始された際、タイマAが再開始する(S330)。このため、その計測対象のタスクの実行が終了した際のタイマAのカウント値は、経過時間を表す。
On the other hand, if it is determined in S610 that the ID of the task related to the end is the same as the task ID stored in the task ID storage unit 16 (S610: YES), the process proceeds to S620.
In S620, the count value of the timer A is stored in the measurement result storage unit 20 as a raw value of elapsed time. As described above, when the execution of the task to be measured is actually started, the timer A is restarted (S330). For this reason, the count value of timer A when the execution of the task to be measured ends indicates the elapsed time.

次に、S630に進み、タイマBのカウント値を、実行時間の生値として計測結果格納部20に記憶させる。前述のように、タイマBは、計測対象のタスクの実行中のみカウントアップし(S340、S520)、計測対象のタスク以外のタスクの実行中は、停止する(S420)。このため、タイマBのカウント値は、実行時間を表す。   Next, it progresses to S630 and the count value of the timer B is memorize | stored in the measurement result storage part 20 as a raw value of execution time. As described above, the timer B counts up only during the execution of the measurement target task (S340, S520), and stops during the execution of tasks other than the measurement target task (S420). For this reason, the count value of the timer B represents the execution time.

次に、S640に進み、タイマAを再開始する。
次に、S650に進み、タイマBをリセットする。そしてその後、当該処理を終了する。尚、S620〜S650の処理は、同時に実行される趣旨である。
Next, it progresses to S640 and the timer A is restarted.
Next, in S650, the timer B is reset. Thereafter, the process is terminated. Note that the processes of S620 to S650 are executed simultaneously.

次に、図11〜図13は、デバッグ装置3において実行される処理のフローチャートである。
図11は、待ち時間、経過時間、実行時間、或いは余裕時間(以下、4つを合わせて指標時間とも記載する)の最大値を算出する最大値算出処理のフローチャートであり、図12は、指標時間の最小値を算出する最小値算出処理のフローチャートであり、図13は、指標時間の積算値を算出する積算値算出処理のフローチャートである。デバッグ装置3では、指標時間の最大値、最小値、及び積算値が記憶されるようになっている。尚、積算値算出処理は、積算値及び積算回数から平均値を算出するために実行される。つまり、積算値算出処理は、言い換えると、平均値を算出するための処理である。
Next, FIGS. 11 to 13 are flowcharts of processing executed in the debugging device 3.
FIG. 11 is a flowchart of a maximum value calculation process for calculating the maximum value of waiting time, elapsed time, execution time, or margin time (hereinafter also referred to as index time together), and FIG. FIG. 13 is a flowchart of an integrated value calculation process for calculating the integrated value of the index time. In the debugging device 3, the maximum value, the minimum value, and the integrated value of the index time are stored. The integrated value calculation process is executed to calculate an average value from the integrated value and the number of integrations. In other words, the integrated value calculation process is a process for calculating an average value.

図11の最大値算出処理では、まず、S710において、指標時間の生値の今回値(最新値)が、記憶されている指標時間の最大値よりも大きいか否かを判定する。尚、今回値は、計測結果格納部20から取得する。今回値が、記憶されている最大値より大きいと判定すると(S710:YES)、S720に移行し、その今回値を、その指標時間の最大値として新たに記憶する。そしてその後、当該処理を終了する。   In the maximum value calculation process of FIG. 11, first, in S710, it is determined whether or not the current value (latest value) of the raw value of the index time is larger than the stored maximum value of the index time. The current value is acquired from the measurement result storage unit 20. If it is determined that the current value is larger than the stored maximum value (S710: YES), the process proceeds to S720, and the current value is newly stored as the maximum value of the index time. Thereafter, the process is terminated.

一方、S710で、今回値が記憶されている最大値以下であると判定すると(S710:NO)、そのまま当該処理を終了する。
次に、図12の最小値算出処理では、まず、S810において、指標時間の生値の今回値が、記憶されている指標時間の最小値よりも小さいか否かを判定する。今回値が、記憶されている最小値よりも小さいと判定すると(S810:YES)、S820に移行し、その今回値を、その指標時間の最小値として新たに記憶する。そしてその後、当該処理を終了する。
On the other hand, if it is determined in S710 that the current value is less than or equal to the stored maximum value (S710: NO), the process is terminated as it is.
Next, in the minimum value calculation process of FIG. 12, first, in S810, it is determined whether or not the current value of the raw value of the index time is smaller than the stored minimum value of the index time. If it is determined that the current value is smaller than the stored minimum value (S810: YES), the process proceeds to S820, and the current value is newly stored as the minimum value of the index time. Thereafter, the process is terminated.

一方、S810で、今回値が、記憶されている最小値以上であると判定すると(S810:NO)、そのまま当該処理を終了する。
次に、図13の積算値算出処理では、まず、S910で、積算回数をカウントするための図示しないカウンタをインクリメントする。
On the other hand, if it is determined in S810 that the current value is greater than or equal to the stored minimum value (S810: NO), the process is terminated as it is.
Next, in the integrated value calculation process of FIG. 13, first, in S910, a counter (not shown) for counting the number of integrations is incremented.

次に、S920に進み、前回までの指標時間の積算値(指標時間積算途中値)に、指標時間の生値の今回値を加えたものを、新たな指標時間積算途中値とする。
次に、S930に進み、積算回数をカウントするカウンタの値が、予め定められた積算回数以上か否かを判定する。つまり、規定の積算回数だけ積算したか否かを判定する。
Next, the process proceeds to S920, and the value obtained by adding the current value of the raw value of the index time to the integrated value of the index time up to the previous time (index value integrated value) is set as a new index time integrated value.
Next, proceeding to S930, it is determined whether or not the value of the counter that counts the number of integrations is equal to or greater than a predetermined number of integrations. That is, it is determined whether or not integration has been performed for a specified number of integrations.

積算回数をカウントするためのカウンタの値が規定の積算回数以上であると判定すると(S930:YES)、S940に移行し、920で算出した指標時間積算途中値を、指標時間積算値とする。   If it is determined that the value of the counter for counting the number of integrations is equal to or greater than the specified number of integrations (S930: YES), the process proceeds to S940, and the index time integration intermediate value calculated in 920 is set as the index time integration value.

次に、S950に進み、積算回数をカウントするためのカウンタの値を0にリセットする。
次に、S960に進み、指標時間積算途中値を0にリセットする。そしてその後、当該処理を終了する。
Next, in S950, the counter value for counting the number of integrations is reset to zero.
Next, the process proceeds to S960, and the index time integration intermediate value is reset to zero. Thereafter, the process is terminated.

尚、この場合、指標時間積算値を、規定の積算回数で除算することで、指標時間の平均値を算出することができる。
一方、S930で、指標時間積算カウンタの値が、規定の積算回数より小さいと判定すると(S930:NO)、そのまま当該処理を終了する。尚、この場合、指標時間積算途中値をカウンタのカウント値で除算することで、指標時間の平均値を算出することができる。
In this case, the average value of the index time can be calculated by dividing the index time integrated value by the specified number of integrations.
On the other hand, if it is determined in S930 that the value of the index time integration counter is smaller than the specified number of integrations (S930: NO), the processing is terminated as it is. In this case, the average value of the index time can be calculated by dividing the intermediate value of the index time by the count value of the counter.

次に、図14は、本実施形態の作用を表すタイムチャートであり、指標時間と、OSにおいて発生するイベントと、タスクの状態と、ソフト処理部12にて実行される処理との関係を表している。尚、ここでは、タスクが計測対象のタスク(以下、対象タスクと記載する)であるものとして説明する。また、タスクの状態について、「Ready」とは、起床からディスパッチ(タスクの実行に実際にCPUの仕事が割り当てられること)までの状態、或いは他のタスクにCPUの負荷の仕事が割り当てられて実行が保留されている状態のことであり、「Running」とは、タスクが実際に実行されている状態のことであり、「Suspended」とは、タスクの実行が終了してから次に起床されるまでの状態のことである。   Next, FIG. 14 is a time chart showing the operation of the present embodiment, and shows the relationship between the index time, the event that occurs in the OS, the state of the task, and the processing executed by the software processing unit 12. ing. In the following description, it is assumed that the task is a measurement target task (hereinafter referred to as a target task). Regarding the task state, “Ready” means the state from wake-up to dispatch (actually assigning CPU work to the task execution), or execution by assigning CPU load work to other tasks. "Running" means that the task is actually being executed, and "Suspended" means that it will be woken up after the task has been executed. It is the state until.

まず、対象タスクの起床に伴い、対象タスクの状態は「Ready」となり、起床時処理(図6)が実行され、タイマAが0からカウントを開始する(S210:YES→S220:YES→(S230)→S240)。   First, as the target task wakes up, the state of the target task becomes “Ready”, the wake-up process (FIG. 6) is executed, and timer A starts counting from 0 (S210: YES → S220: YES → (S230 ) → S240).

対象タスクがディスパッチされると、対象タスクの状態は「Running」となり、開始時処理(図7)が実行されると共に、その時のタイマAの値を待ち時間の生値として計測結果格納部20に記憶させる(S310:YES→S320)。   When the target task is dispatched, the state of the target task becomes “Running”, the start process (FIG. 7) is executed, and the value of timer A at that time is stored in the measurement result storage unit 20 as a raw value of the waiting time. Store (S310: YES → S320).

また、タイマA及びタイマBを再開始させる(S330、S340)。
対象タスクの状態が「Running」において、プリエンプト(対象タスクとは別のタスクの実行にCPUの仕事が割り当てられること)が発生すると、対象タスクの状態は「Ready」となり、レディ時処理(図8)が実行され、タイマBが停止する(S410:YES→S420)。尚、このとき、タイマAはカウントアップを継続する。
Further, the timer A and the timer B are restarted (S330, S340).
When a preemption (assignment of CPU work to the execution of a task different from the target task) occurs when the target task status is “Running”, the status of the target task becomes “Ready”, and the ready process (FIG. 8). ) Is executed and the timer B is stopped (S410: YES → S420). At this time, the timer A continues to count up.

その後、再び対象タスクがディスパッチされると、対象タスクの状態は「Running」となり、再開時処理(図9)が実行され、タイマBが開始する(S510:YES→S520)。   Thereafter, when the target task is dispatched again, the state of the target task becomes “Running”, the restart process (FIG. 9) is executed, and the timer B is started (S510: YES → S520).

そして、対象タスクの実行が終了すると、対象タスクの状態は「Suspended」となり、終了時処理(図10)が実行され、タイマAのカウント値が経過時間の生値として計測結果格納部20に格納されると共に(S620)、タイマBのカウント値が実行時間の生値として計測結果格納部20に格納される(S630)。また、タイマAが0からカウントアップを開始すると共に(S640)、タイマBのカウント値が0に戻る(S650)。   When the execution of the target task ends, the state of the target task becomes “Suspended”, the process at the end (FIG. 10) is executed, and the count value of the timer A is stored in the measurement result storage unit 20 as the raw value of the elapsed time. At the same time (S620), the count value of the timer B is stored in the measurement result storage unit 20 as a raw value of the execution time (S630). Further, the timer A starts counting up from 0 (S640), and the count value of the timer B returns to 0 (S650).

その後、対象タスクが再び起床されると、対象タスクの状態は「Ready」となり、起床時処理(図7)が実行され、タイマAのカウント値が余裕時間の生値として計測結果格納部20に記憶される(S210:YES→S220:YES→S230)。以後は、前述した通りである。   After that, when the target task is woken up again, the state of the target task becomes “Ready”, the wake-up process (FIG. 7) is executed, and the count value of the timer A is stored in the measurement result storage unit 20 as a raw value of the margin time. It is stored (S210: YES → S220: YES → S230). The subsequent steps are as described above.

このようにして、対象タスクについて、待ち時間、経過時間、実行時間、及び余裕時間が計測される。また、抜け回数も計測される(S270)。さらに、タスクID書換部10により、対象タスクが所定の切換時間毎に切り換えられるため、本実施形態では、2つのタイマ(ハードカウンタ14A,14B)により、複数のタスクについて、複数の指標時間を計測することができるようになっている。   In this way, the waiting time, elapsed time, execution time, and margin time are measured for the target task. Further, the number of omissions is also measured (S270). Further, since the target task is switched every predetermined switching time by the task ID rewriting unit 10, in this embodiment, a plurality of index times are measured for a plurality of tasks by the two timers (hard counters 14A and 14B). Can be done.

次に、本実施形態では、デバッグ装置3において、指標時間の長さとその発生頻度との関係を表す度数分布グラフが表示されるようになっている。図15、図16は、グラフの一例である。   Next, in the present embodiment, the debug device 3 displays a frequency distribution graph representing the relationship between the length of the index time and the frequency of occurrence thereof. 15 and 16 are examples of graphs.

図15は、度数分布の2次元グラフである。図15の二次元グラフでは、タスクS、タスクT、タスクUの3種類のタスクのそれぞれについて、待ち時間についての度数分布を表している。X軸は、待ち時間(μs)であり、Y軸は、1secあたりの発生回数(回/1s)である。   FIG. 15 is a two-dimensional graph of frequency distribution. In the two-dimensional graph of FIG. 15, the frequency distribution of the waiting time is represented for each of the three types of tasks S, T, and U. The X axis is the waiting time (μs), and the Y axis is the number of occurrences per second (times / 1 s).

図15では、プロット点が、タスクの種類毎に色分けされている。また、プロット点の形状をタスク毎に異ならせるようにしている。具体的に、タスクSのプロット点の形状は□で表し、タスクTのプロット点の形状は○で表し、タスクUのプロット点の形状は△で表している。   In FIG. 15, the plot points are color-coded for each task type. Also, the shape of the plot points is made different for each task. Specifically, the shape of the plot point of task S is represented by □, the shape of the plot point of task T is represented by ◯, and the shape of the plot point of task U is represented by △.

これにより、視覚的に視認しやすいものとなっている。
次に、図16は、度数分布の3次元グラフである。図16では、タスクSの待ち時間について、度数分布を表す。X軸は、待ち時間(μs)であり、Z軸は、1secあたりの発生回数(回/1s)であり、Y軸は、時刻である。本例では、時刻1〜時刻15までの所定の時刻において、待ち時間と発生回数との関係を表している。またここで、CPUの負荷は、刻一刻と変化するようになっており、時刻1〜時刻15においてはそれぞれ、CPUの負荷が異なっている。具体的に、時刻1は最もCPUの負荷が小さくなっており、時刻15に向かって順次CPUの負荷は大きくなっており、時刻15におけるCPUの負荷が最も大きい。つまり、図16の3次元グラフは、CPUの負荷の度合い毎の、待ち時間の長さとその長さ毎の発生頻度との関係を表している。
This makes it easy to visually recognize.
Next, FIG. 16 is a three-dimensional graph of frequency distribution. In FIG. 16, the frequency distribution of the waiting time of task S is shown. The X axis is waiting time (μs), the Z axis is the number of occurrences per second (times / 1 s), and the Y axis is time. In this example, the relationship between the waiting time and the number of occurrences at a predetermined time from time 1 to time 15 is shown. Here, the load on the CPU changes every moment, and the load on the CPU differs from time 1 to time 15. Specifically, the load on the CPU is the smallest at time 1, the load on the CPU is sequentially increasing toward time 15, and the load on the CPU at time 15 is the largest. That is, the three-dimensional graph of FIG. 16 represents the relationship between the length of the waiting time and the occurrence frequency for each length for each degree of CPU load.

以上説明したように、本実施形態においては、計測対象のタスク(対象タスク)を順次切り換えることで、複数のタスクのそれぞれについて、順番に、指標時間(具体的に、待ち時間、経過時間、実行時間、及び余裕時間)を計測する。このため、複数のタスクのそれぞれについて、複数の指標時間を計測することができる。特に、指標時間を計測するためのタイマを2つ備えており、経過時間と実行時間とを、同時に計測できるようになっている。また、タイマをハードで構成し、そのタイマの値を読み込むという簡単な処理で指標時間を計測することができ、複雑な構成や処理が不要となって有利である。   As described above, in this embodiment, by sequentially switching the measurement target task (target task), the index time (specifically, waiting time, elapsed time, execution) is sequentially performed for each of the plurality of tasks. Time and margin time). Therefore, a plurality of index times can be measured for each of a plurality of tasks. In particular, two timers for measuring the index time are provided, and the elapsed time and execution time can be measured simultaneously. In addition, the index time can be measured by a simple process of configuring the timer by hardware and reading the value of the timer, which is advantageous because a complicated configuration and process are unnecessary.

また、上記実施形態では、所定回数を超えてタスクを起床しようとしたために起床に失敗した回数もカウントして計測できるようになっている。このような計測装置によれば、タスクの実行態様の解析に資することができる。   Moreover, in the said embodiment, since it tried to wake up a task exceeding predetermined number of times, the frequency | count that failed to wake up can also be counted and measured. According to such a measuring device, it can contribute to the analysis of the task execution mode.

また、上記実施形態において、指標時間は、デバッグ装置3において、いつ計測できた指標時間かが識別可能に記憶されるようになっている。さらに、指標時間の最大値、最小値、積算値(平均値)が算出されるようになっている。これによれば、計測装置の使用者は、指標時間の統計的な検証が可能となり、タスクの実行態様をより詳細に解析できるようになる。このため、より最適なプログラム設計ができるようになる。例えば、タスク毎の優先度を調整したり、タスクを分割したりするといったような対処がとりやすくなる。   In the above-described embodiment, the index time is stored in the debug device 3 so as to be identifiable when the index time can be measured. Further, the maximum value, minimum value, and integrated value (average value) of the index time are calculated. According to this, the user of the measuring device can statistically verify the index time, and can analyze the task execution mode in more detail. This makes it possible to design a more optimal program. For example, it becomes easy to take measures such as adjusting the priority for each task or dividing the task.

また、上記実施形態において、指標時間の長さについての度数分布グラフが表示されるようになっているため、計測装置の使用者は、タスクの実行態様を視覚的に認識し易くなる。   Moreover, in the said embodiment, since the frequency distribution graph about the length of index | exponent time is displayed, it becomes easy for the user of a measuring device to recognize the execution aspect of a task visually.

尚、上記実施形態において、S270の処理が検出手段に相当している。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
In the above embodiment, the process of S270 corresponds to a detection unit.
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to the said embodiment, A various form can be taken within the technical scope of this invention.

例えば、上記実施形態において、図15,図16では、待ち時間についての度数分布を示したが、他の指標時間についての度数分布を示しても良い。複数の指標時間の度数分布を1つのグラフ上に示す場合、指標時間毎に、プロット点が色分けされるようにすると良い。そうすれば、視覚的により認識しやすいものとなる。   For example, in the above embodiment, FIGS. 15 and 16 show the frequency distribution for the waiting time, but may show the frequency distribution for other index times. When the frequency distribution of a plurality of index times is shown on one graph, the plot points are preferably color-coded for each index time. Then, it becomes easier to recognize visually.

また、上記実施形態では、タスクの起床時にタイマBがリセットされるようになっているが(S250)、タスクの起床から、実際にそのタスクの実行が開始されるまでの間であれば、タイマBのリセットタイミングはいつでも良い。また、タスクの実行開始のタイミングで、タイマBがリセットされると共にカウントアップが開始されるようにしても良い。   In the above embodiment, the timer B is reset when the task is woken up (S250). However, if the time is from when the task is woken up until the execution of the task is actually started, the timer B is reset. The reset timing of B may be anytime. Further, the timer B may be reset and the count-up may be started at the task execution start timing.

また、上記実施形態では、タスクの実行が終了したタイミングでタイマBがリセットされるようになっているが(S650)、タスクの実行終了から、実際にそのタスクの実行が開始されるまでの間であれば、タイマBのリセットタイミングはいつでも良い。また、タスクの実行開始のタイミングで、タイマBがリセットされると共にカウントアップが開始されるようにしても良い。   In the above embodiment, the timer B is reset at the timing when the execution of the task is completed (S650), but from the end of the execution of the task until the actual execution of the task is started. If so, the reset timing of the timer B may be anytime. Further, the timer B may be reset and the count-up may be started at the task execution start timing.

また、上記実施形態において、最大値算出処理(図11)、最小値算出処理(図12)、積算値算出処理(図13)は、それぞれ、ソフト処理部12が実行するように構成しても良い。   In the above embodiment, the maximum value calculation process (FIG. 11), the minimum value calculation process (FIG. 12), and the integrated value calculation process (FIG. 13) may be configured to be executed by the software processing unit 12, respectively. good.

また、上記実施形態において、計測結果格納部20には、指標時間の最新の計測値のみが記憶されるが、例えば、複数回分の計測値が記憶されるようにしても良い。この場合、古いデータから順に、新しいデータと置き換えられるようにすれば良い。   Moreover, in the said embodiment, although only the newest measured value of index time is memorize | stored in the measurement result storage part 20, you may make it memorize | store the measured value for multiple times, for example. In this case, the old data may be replaced with new data in order.

また、上記実施形態において、タスクIDは、通し番号に限らず、どのような形式のデータでも良い。
また、上記実施形態において、S130及びS170の処理が実行されない構成でも良い。
In the above embodiment, the task ID is not limited to a serial number, and may be data in any format.
Moreover, in the said embodiment, the structure which does not perform the process of S130 and S170 may be sufficient.

また、上記実施形態において、起床に係るタスクよりも優先度の高いタスクが実行中であり、その起床に係るタスクの次の起床タイミングが到来するまでに、その優先度の高いタスクが終了せず、前回の起床分についての実行がキャンセルされてしまう現象の回数をカウントするようにしても良い。   In the above embodiment, a task having a higher priority than the task related to wake-up is being executed, and the task with the higher priority does not end until the next wake-up timing of the task related to wake-up comes. The number of times that the execution of the previous wake-up is canceled may be counted.

また、上記実施形態において、ハードカウンタ部14の機能をソフトで構成しても良い。
また、上記実施形態において、図11の最大値算出処理では、少なくとも待ち時間、経過時間、及び実行時間の最大値が算出できれば良く、余裕時間の最大値は算出されなくても構わない。システム上、余裕時間が大きくなってしまっても特に不都合は生じないためである。むしろ余裕時間が大きいほうが好ましいと言える。
In the above embodiment, the function of the hard counter unit 14 may be configured by software.
In the above embodiment, the maximum value calculation process of FIG. 11 only needs to calculate at least the maximum values of the waiting time, the elapsed time, and the execution time, and the maximum value of the margin time may not be calculated. This is because no particular inconvenience occurs even if the margin time increases on the system. Rather, it can be said that it is preferable that the margin time is large.

また、上記実施形態において、図12の最小値算出処理では、少なくとも経過時間、実行時間、及び余裕時間の最小値が算出できれば良く、待ち時間の最小値は算出されなくても構わない。システム上、待ち時間の最小値が小さくなってしまっても特に不都合は生じないためである。むしろ待ち時間が小さいほうが好ましいと言える。   In the above embodiment, in the minimum value calculation process of FIG. 12, it is sufficient that at least the minimum value of elapsed time, execution time, and margin time can be calculated, and the minimum value of waiting time may not be calculated. This is because there is no particular inconvenience even if the minimum waiting time is reduced on the system. Rather, it can be said that a smaller waiting time is preferable.

また、上記実施形態では、所定の切換時間毎に対象タスクが切り換えられるようになっているが、対象タスクについて、指標時間の算出回数が所定の算出回数に達する前に、対象タスクを切り換えるようにしても良い。具体的に、待ち時間、経過時間、実行時間、余裕時間、及び抜け回数を一通り計測した時点で算出回数を1回とカウントし、その算出回数が所定回数に達すると、対象タスクを切り換えるようにしても良い。尚、待ち時間、経過時間、実行時間、余裕時間、及び抜け回数の少なくとも何れかを計測した時点で算出回数を1回とカウントしても良いことは勿論である。   In the above embodiment, the target task is switched every predetermined switching time. However, for the target task, the target task is switched before the calculation time of the index time reaches the predetermined calculation number. May be. Specifically, when the waiting time, elapsed time, execution time, margin time, and number of omissions are measured, the number of calculations is counted as one, and the target task is switched when the number of calculations reaches a predetermined number. Anyway. Of course, the number of times of calculation may be counted as one when at least one of the waiting time, elapsed time, execution time, margin time, and number of omissions is measured.

本実施形態の計測装置の構成を表す図である。It is a figure showing the structure of the measuring device of this embodiment. ハードカウンタ部14のハードカウンタの説明図である。It is explanatory drawing of the hard counter of the hard counter part. タスクID記憶部16の説明図である。4 is an explanatory diagram of a task ID storage unit 16. FIG. 計測結果格納部20の説明図である。It is explanatory drawing of the measurement result storage part. タスクID書換部18が実行するタスクID書換処理のフローチャートである。It is a flowchart of the task ID rewriting process which the task ID rewriting part 18 performs. ソフト処理部12が実行する起床時処理のフローチャートである。It is a flowchart of the process at the time of wakeup which the software process part 12 performs. ソフト処理部12が実行する開始時処理のフローチャートである。It is a flowchart of the start time process which the software process part 12 performs. ソフト処理部12が実行するレディ時処理のフローチャートである。It is a flowchart of the process at the time of ready which the software process part 12 performs. ソフト処理部12が実行する再開時処理のフローチャートである。It is a flowchart of the process at the time of restart which the software process part 12 performs. ソフト処理部12が実行する終了時処理のフローチャートである。It is a flowchart of the process at the time of completion | finish which the software process part 12 performs. デバッグ装置3において実行される最大値算出処理のフローチャートである。6 is a flowchart of a maximum value calculation process executed in the debugging device 3. デバッグ装置3において実行される最小値算出処理のフローチャートである。6 is a flowchart of a minimum value calculation process executed in the debugging device 3. デバッグ装置3において実行される積算値算出処理のフローチャートである。5 is a flowchart of integrated value calculation processing executed in the debugging device 3; 本実施形態の作用を表すタイムチャートである。It is a time chart showing the effect | action of this embodiment. デバッグ装置3において表示される2次元グラフである。3 is a two-dimensional graph displayed on the debugging device 3; デバッグ装置3において表示される3次元グラフである。3 is a three-dimensional graph displayed on the debugging device 3;

符号の説明Explanation of symbols

2…ECU、3…デバッグ装置、10…マイコン、12…ソフト処理部、14…ハードカウンタ部、14A,14B…ハードカウンタ、16…タスクID記憶部、18…タスクID書換部、20…計測結果格納部。 DESCRIPTION OF SYMBOLS 2 ... ECU, 3 ... Debugging device, 10 ... Microcomputer, 12 ... Software processing part, 14 ... Hard counter part, 14A, 14B ... Hard counter, 16 ... Task ID memory | storage part, 18 ... Task ID rewriting part, 20 ... Measurement result Storage.

Claims (15)

マイクロコンピュータが実行する複数のタスクのそれぞれについて、そのタスクの状況毎に、そのタスクがその状況下にある期間(以下、指標時間と言う)を計測する計測装置であって、
一定時間毎にカウント動作するカウンタを備え、
前記複数のタスクのうち、何れかのタスクを、予め定められた切り換え条件に達する毎に、計測対象のタスク(以下、対象タスクと言う)として順次選択すると共に、その対象タスクの状況が変化したときの前記カウンタのカウント値に基づき、その対象タスクの状況が変化する直前の状況についての前記指標時間を算出するようになっていることを特徴とする計測装置。
For each of a plurality of tasks executed by the microcomputer, a measuring device that measures a period (hereinafter referred to as an index time) during which the task is under the status for each status of the task,
It has a counter that counts every certain time,
Each time one of the plurality of tasks reaches a predetermined switching condition, the task is sequentially selected as a measurement target task (hereinafter referred to as a target task), and the status of the target task changes. The measurement apparatus is characterized in that, based on the count value of the counter at the time, the index time for the situation immediately before the situation of the target task changes is calculated.
請求項1に記載の計測装置において、
前記カウンタを少なくとも2つ備え、
前記対象タスクの実行が開始されてから終了するまでの期間と、その開始から終了までの期間のうち、その対象タスクの実行のために前記マイクロコンピュータのCPUの仕事が割り当てられた期間とを計測することを特徴とする計測装置。
The measuring device according to claim 1,
Comprising at least two counters;
Measure the period from the start to the end of execution of the target task and the period from the start to the end of the period to which the work of the microcomputer CPU is allocated for the execution of the target task A measuring device characterized by:
請求項1又は請求項2に記載の計測装置において、
前記対象タスクが起床されてから、その対象タスクの実行が開始されるまでの期間を計測することを特徴とする計測装置。
In the measuring device according to claim 1 or 2,
A measuring apparatus that measures a period from when the target task is woken up to when execution of the target task is started.
請求項1ないし請求項3の何れか1項に記載の計測装置において、
前記対象タスクの実行が終了してから、その対象タスクが次に起床されるまでの期間を計測することを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 3,
A measuring apparatus for measuring a period from when execution of the target task is completed until the target task is woken up next time.
請求項1ないし請求項4の何れか1項に記載の計測装置において、
前記複数のタスクのそれぞれは、起床のタイミングが予め定められており、
前記対象タスクの起床タイミングで、その対象タスクが実行されない現象の回数を計測する検出手段を備えていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 4,
Each of the plurality of tasks has a predetermined wake-up timing,
A measuring apparatus comprising: a detecting unit that measures the number of times that the target task is not executed at the wake-up timing of the target task.
請求項1ないし請求項5の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の情報は、いつ計測できた情報かが識別可能に記憶されるように構成されていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 5,
For any one of the plurality of tasks, the index time for the same situation is measured a plurality of times, and the index time information that can be measured is stored so that it can be identified when the information can be measured. It is comprised so that the measuring device characterized by the above-mentioned.
請求項1ないし請求項6の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最大値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 6,
Among the plurality of tasks, for any one of the tasks, the index time for the same situation is measured a plurality of times, and the maximum value of the measured index time length is determined for each task status type. A measuring device characterized by being calculated.
請求項1ないし請求項7の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さのうち、最小値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 7,
Among the plurality of tasks, for any one of the tasks, the index time for the same situation is measured a plurality of times, and the minimum value of the measured index time length is determined for each task status type. A measuring device characterized by being calculated.
請求項1ないし請求項8の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さの平均値を、タスクの状況の種別毎に算出するようになっていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 8,
For any one of the plurality of tasks, the index time for the same situation is measured a plurality of times, and an average value of the measured index times is calculated for each type of task situation A measuring device characterized by that.
請求項1ないし請求項9の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、その計測できた指標時間の長さと、その長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 9,
Among the plurality of tasks, the frequency distribution information that represents the length of the index time that can be measured and the occurrence frequency for each length, while measuring the index time for the same situation multiple times for any one of the tasks Is output as information for analysis.
請求項1ないし請求項10の何れか1項に記載の計測装置において、
前記複数のタスクのうち、何れかのタスクについて、同じ状況についての前記指標時間を複数回分計測すると共に、前記マイクロコンピュータが備えるCPUの負荷は変化するようになっており、そのCPUの負荷の度合い毎の、指標時間の長さとその長さ毎の発生頻度とを表す度数分布情報を、解析用情報として出力するようになっていることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 10,
For any one of the plurality of tasks, the index time for the same situation is measured a plurality of times, and the CPU load of the microcomputer is changed, and the degree of the CPU load A frequency measuring apparatus that outputs frequency distribution information representing the length of each index time and the occurrence frequency for each length as analysis information.
請求項10又は請求項11に記載の計測装置において、
前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの種類毎に色分けされていることを特徴とする計測装置。
In the measuring device according to claim 10 or 11,
The analysis information is a graph, and plot points of the graph are color-coded for each type of task.
請求項10ないし請求項12の何れか1項に記載の計測装置において、
前記解析用情報は、グラフであると共に、そのグラフのプロット点が、前記タスクの状況の種別毎に色分けされていることを特徴とする計測装置。
The measuring device according to any one of claims 10 to 12,
The analysis information is a graph, and plot points of the graph are color-coded for each type of task status.
請求項1ないし請求項13の何れか1項に記載の計測装置において、
前記切り換え条件は、所定の時間が経過することであることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 13,
The switching device is characterized in that a predetermined time elapses.
請求項1ないし請求項13の何れか1項に記載の計測装置において、
前記切り換え条件は、前記指標時間の算出回数が所定の回数になることであることを特徴とする計測装置。
In the measuring device according to any one of claims 1 to 13,
The switching device is characterized in that the calculation time of the index time is a predetermined number.
JP2007152768A 2007-06-08 2007-06-08 Measuring device Expired - Fee Related JP4853390B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007152768A JP4853390B2 (en) 2007-06-08 2007-06-08 Measuring device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007152768A JP4853390B2 (en) 2007-06-08 2007-06-08 Measuring device

Publications (2)

Publication Number Publication Date
JP2008305238A true JP2008305238A (en) 2008-12-18
JP4853390B2 JP4853390B2 (en) 2012-01-11

Family

ID=40233895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007152768A Expired - Fee Related JP4853390B2 (en) 2007-06-08 2007-06-08 Measuring device

Country Status (1)

Country Link
JP (1) JP4853390B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160716A (en) * 2009-01-09 2010-07-22 Toyota Motor Corp Verification device
JP2011194688A (en) * 2010-03-18 2011-10-06 Ricoh Co Ltd Image forming device
JP2020198055A (en) * 2019-06-05 2020-12-10 ファナック株式会社 Controller

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63269239A (en) * 1987-04-28 1988-11-07 Mitsubishi Electric Corp Processor load measuring system
JPH02236744A (en) * 1989-03-10 1990-09-19 Fujitsu Ltd System for analyzing performance of information processor
JPH0521976A (en) * 1991-03-20 1993-01-29 Fujitsu Ltd Method of monitoring fan rotation
JPH05108418A (en) * 1991-10-21 1993-04-30 Toshiba Corp Detection system for program abnormality
JPH05165655A (en) * 1991-12-16 1993-07-02 Mitsubishi Electric Corp Executing time measuring device for software
JPH10254738A (en) * 1997-03-12 1998-09-25 Mitsubishi Electric Corp Emulator device and emulation method
JPH1115704A (en) * 1997-06-19 1999-01-22 Mitsubishi Electric Corp Emulation control method and emulator
JPH11232148A (en) * 1998-02-18 1999-08-27 Toyota Motor Corp Method and system for measuring load rate of computer
JP2001318807A (en) * 2000-05-11 2001-11-16 Nec Microsystems Ltd Method and device for controlling task switching
JP2005031887A (en) * 2003-07-10 2005-02-03 Yamaha Corp Real-time performance measuring device and information processor
JP2006090356A (en) * 2004-09-21 2006-04-06 Denso Corp Vehicle control device and processing load control program
JP2006313551A (en) * 2005-05-03 2006-11-16 Hewlett-Packard Development Co Lp System and method for editing and storing data

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63269239A (en) * 1987-04-28 1988-11-07 Mitsubishi Electric Corp Processor load measuring system
JPH02236744A (en) * 1989-03-10 1990-09-19 Fujitsu Ltd System for analyzing performance of information processor
JPH0521976A (en) * 1991-03-20 1993-01-29 Fujitsu Ltd Method of monitoring fan rotation
JPH05108418A (en) * 1991-10-21 1993-04-30 Toshiba Corp Detection system for program abnormality
JPH05165655A (en) * 1991-12-16 1993-07-02 Mitsubishi Electric Corp Executing time measuring device for software
JPH10254738A (en) * 1997-03-12 1998-09-25 Mitsubishi Electric Corp Emulator device and emulation method
JPH1115704A (en) * 1997-06-19 1999-01-22 Mitsubishi Electric Corp Emulation control method and emulator
JPH11232148A (en) * 1998-02-18 1999-08-27 Toyota Motor Corp Method and system for measuring load rate of computer
JP2001318807A (en) * 2000-05-11 2001-11-16 Nec Microsystems Ltd Method and device for controlling task switching
JP2005031887A (en) * 2003-07-10 2005-02-03 Yamaha Corp Real-time performance measuring device and information processor
JP2006090356A (en) * 2004-09-21 2006-04-06 Denso Corp Vehicle control device and processing load control program
JP2006313551A (en) * 2005-05-03 2006-11-16 Hewlett-Packard Development Co Lp System and method for editing and storing data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010160716A (en) * 2009-01-09 2010-07-22 Toyota Motor Corp Verification device
JP2011194688A (en) * 2010-03-18 2011-10-06 Ricoh Co Ltd Image forming device
JP2020198055A (en) * 2019-06-05 2020-12-10 ファナック株式会社 Controller
JP7294895B2 (en) 2019-06-05 2023-06-20 ファナック株式会社 Control device

Also Published As

Publication number Publication date
JP4853390B2 (en) 2012-01-11

Similar Documents

Publication Publication Date Title
JP5091912B2 (en) Multi-core processor system
JP5069325B2 (en) Task execution control device and program
JP4770602B2 (en) Electronics
JPWO2005106623A1 (en) CPU clock control device, CPU clock control method, CPU clock control program, recording medium, and transmission medium
CN104516786A (en) Information processing device, fault avoidance method, and program storage medium
US10402232B2 (en) Method and system for deterministic multicore execution
JP4853390B2 (en) Measuring device
US9839064B2 (en) Sensor data collecting device
JP2003271401A (en) Microprocessor having load monitoring function
JP3962370B2 (en) RESOURCE RESERVATION SYSTEM, RESOURCE RESERVATION METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM FOR EXECUTING THE METHOD
US9513969B2 (en) Method for the management of task execution in a computer system
CN116679962A (en) Method, device, equipment and medium for updating firmware of basic input/output system
JP6009518B2 (en) Electronic control unit
KR101635816B1 (en) Apparatus and method for thread progress tracking using deterministic progress index
US20160103704A1 (en) Data processing device and method of controlling the same
JP2011150532A (en) Information processing apparatus
JP2000056989A (en) Task designing method
JP2010140239A (en) Apparatus and method for shortening interrupt latency
JP2016184315A (en) Electronic controller
CN110959152B (en) access control device
KR101399758B1 (en) Apparatus and method for scheduling periods of tasks executed on multiple slave devices
JP6890074B2 (en) Electronic control device
CN106326599B (en) System state monitoring method and device for multiprocessor system simulation
JP2017037606A (en) Drive control system and abnormality monitoring device
JP2005107757A (en) Method and device for detecting runaway of program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110927

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111010

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4853390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees