JP2007304765A - プロセッサシステム及びプロセッサシステムの性能測定方法 - Google Patents

プロセッサシステム及びプロセッサシステムの性能測定方法 Download PDF

Info

Publication number
JP2007304765A
JP2007304765A JP2006131246A JP2006131246A JP2007304765A JP 2007304765 A JP2007304765 A JP 2007304765A JP 2006131246 A JP2006131246 A JP 2006131246A JP 2006131246 A JP2006131246 A JP 2006131246A JP 2007304765 A JP2007304765 A JP 2007304765A
Authority
JP
Japan
Prior art keywords
task
processor
executed
evaluation
storage unit
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
JP2006131246A
Other languages
English (en)
Other versions
JP4971679B2 (ja
Inventor
Goji Nagao
剛司 長尾
Hitoshi Suzuki
均 鈴木
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics 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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2006131246A priority Critical patent/JP4971679B2/ja
Priority to US11/737,039 priority patent/US7996658B2/en
Publication of JP2007304765A publication Critical patent/JP2007304765A/ja
Application granted granted Critical
Publication of JP4971679B2 publication Critical patent/JP4971679B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】タスク集合単位での性能測定に適したプロセッサシステムを提供する。
【解決手段】プロセッサシステム1は、複数のタスクを切り替えて実行するCPU10、CPU10で実行されるタスクを識別するためのタスクIDを格納するタスクID格納部12、タスクIDの少なくとも一部の領域と比較される評価IDを格納する評価ID格納部14、CPU10で実行されるタスクの性能測定値を計測するカウンタ16、及び、タスクID格納部12に格納されたタスクIDと、評価ID格納部14された評価IDとを照合し、照合結果に応じてカウンタ16を動作させるマッチング部15とを備える。
【選択図】図1

Description

本発明は、マルチタスク環境を備えるプロセッサシステムに関し、特に、マルチタスク環境を備えるプロセッサシステムの性能測定技術に関する。
自動車、航空機等の輸送機械や、携帯電話機、交換機等の通信機器に組み込まれ、これらの機械、機器の制御を行うプロセッサシステムは組み込みシステムと呼ばれている。組み込みシステムは、処理時間の向上、リアルタイム性の確保、プログラムのソフトウェア部品化による生産性向上等を実現するため、一般にマルチタスク環境を備えている。マルチタスク環境とは、並列実行可能な単位に分割されたプログラムを定期的に切り替えて実行したり、あるイベントの発生に応じて実行するプログラムを切り替えたりすることによって、複数のプログラムがあたかも並列実行されているような環境を意味する。ここで、タスクとは、マルチタスク環境で並列実行されるプログラム単位を意味する。このようなマルチタスク環境は、CPUと、CPUで実行されるタスクのスケジューリングを担うシステムプログラムによって実現される。
また、タスクの実行時間等の性能情報を取得することが可能なプロセッサシステムが、従来から知られている。取得された性能情報は、プロセッサシステムで実行されるユーザプログラムのデバッグに利用される。例えば、特許文献1には、CPUでの実行タスクを切り替える際に、タスク毎に予め割り当てられたタスクIDを特定のレジスタに書き込むこととし、さらに、この特定のレジスタの書き換えに同調してカウンタを動作させることによって、タスク毎の実行時間を測定することが可能なプロセッサシステムが開示されている。
近年、組み込みシステムの制御対象である組み込み機器の高機能化や複合化が進展し、これに伴って、組み込みシステムで実行されるユーザプログラムの規模が増大している。このような背景のもと、ユーザプログラムを構成する個々のタスク単位ではなく、タスクの集合を単位として、実行時間等の性能情報を取得することが求められている。例えば、ユーザプログラムを構成するタスク数が増えると、ある1つの機能が複数のタスクによって実現される場合が殆どであるため、個々のタスクの性能情報ではなく、当該機能を実現するためのタスク集合の性能情報の評価が必要な場合がある。また、ユーザプログラムの開発が分業体制で行われる場合が多く、別々に開発されたタスク集合を単位として性能情報を取得し、これを評価することが求められている。なお、以下では、1又は複数のタスクが属するタスク集合をタスクグループと呼ぶこととする。
特開平5−151004号公報
特許文献1に開示されているような従来のプロセッサシステムは、タスク単位で性能情報の取得を行うものである。このため、タスクグループ単位での性能評価を行うためには、例えば、タスク単位で取得した性能情報を積算する等の付加的な処理が必要となる。
このように、従来のマルチタスク環境を備えるプロセッサシステムおいては、タスクの性能情報の取得がタスク単位で行われているため、タスクグループ単位での性能情報の取得に適していないという問題がある。
本発明の第1の態様にかかるプロセッサシステムは、複数のタスクを切り替えて実行するプロセッサと、前記プロセッサで実行されるタスクを識別するためのタスクIDを格納するタスクID格納部と、前記タスクIDの少なくとも一部の領域と比較される評価IDを格納する評価ID格納部と、前記プロセッサで実行されるタスクの性能測定値を計測するカウンタと、前記タスクID格納部に格納されたタスクIDと、前記評価ID格納部された評価IDとを照合し、照合結果に応じて前記カウンタを動作させるマッチング部とを備える。
このような構成により、本発明の第1の態様にかかるプロセッサシステムは、タスクIDの少なくとも一部の領域が共通している複数のタスクの性能測定値をカウンタによって計測することができる。つまり、タスクIDの少なくとも一部の領域が共通するという属性を有するタスクグループを対象として性能測定を行うことができる。
本発明の第2の態様にかかるプロセッサシステムは、複数のタスクを切り替えて実行するプロセッサと、前記プロセッサで実行されるタスクを識別するタスクIDを格納するタスクID格納部と、前記プロセッサで実行されるタスクの性能測定を行う性能測定部とを備える。さらに、前記タスクIDには、タスクが属するタスクグループを示すタスクグループ識別領域が設けられている。さらにまた、前記性能測定部は、前記タスクID格納部に格納されたタスクIDのタスクグループ識別領域を参照することにより、前記プロセッサで実行されるタスクが性能測定の対象となるタスクグループに属するタスクか否かを判定し、前記プロセッサで実行されるタスクが性能測定の対象である場合に、当該タスクに対する性能測定を行う。
このように、本発明の第2の態様にかかるプロセッサシステムは、タスクIDにタスクグループ識別領域を設け、プロセッサで実行されているタスクが属するタスクグループを識別することによって、特定のタスクグループに属するタスクのみを性能測定の対象とすることができる。
本発明の第3の態様にかかる性能測定方法は、プロセッサ、前記プロセッサで実行されるタスクを識別するタスクIDを格納するタスクID格納部、及び前記プロセッサで実行されるタスクの性能測定値を計測するカウンタを有するプロセッサシステムにおける性能測定方法である。具体的には、前記タスクIDには、タスクが属するタスクグループを示すタスクグループ識別領域が設けられており、前記プロセッサで実行されるタスクの切り替えに応じて、前記プロセッサにおいて新たに実行されるタスクのタスクIDを前記タスクID格納部に格納し、前記タスクID格納部に格納されたタスクIDのタスクグループ識別領域を参照することにより、前記プロセッサで実行されるタスクが性能測定の対象となるタスクグループに属するタスクか否かを判定し、前記プロセッサで実行されるタスクが性能測定の対象である場合に、当該タスクの性能測定値を前記カウンタに計測させる。
このように、本発明の第3の態様にかかる性能測定方法は、タスクIDにタスクグループ識別領域を設けることとし、プロセッサで実行されているタスクが属するタスクグループを識別することによって、特定のタスクグループに属するタスクのみを性能測定の対象とすることができる。
本発明により、タスクグループ単位での性能測定に適したプロセッサシステムを提供することができる。
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
発明の実施の形態1.
本実施の形態にかかるプロセッサシステム1の構成を図1に示す。図1において、CPU(Central Processing Unit)10は、メモリ11に格納されたシステムプログラム111及びユーザプログラム112を実行する演算処理部である。
メモリ11は、CPU10に読み出されて実行されるシステムプログラム111及びユーザプログラム112の格納領域、並びに、これらのプログラムによって使用されるデータの格納領域として使用される。つまり、メモリ11は、RAM、ROM、フラッシュメモリ等の組合せである。
システムプログラム111は、プロセッサシステム1自体の制御を担うプログラムである。システムプログラム111は、CPU10やメモリ11等のハードウェア資源を利用して、マルチタスク環境を実現するためのタスク管理、メモリ管理等を実現する。ここで、タスク管理は、タスクの状態管理、実行可能な状態にあるタスクの実行順序の管理、タスクに与えられた優先度の管理、並びに、コンテキストの保存及び切り替え等を行うことにより、タスクの生成、削除、起動、及び終了を制御する処理である。
ユーザプログラム112は、ユーザ要求を達成するためのプログラムである。プロセッサシステム1が組み込み機器に搭載される場合であれば、ユーザプログラム112は、組み込み機器の機能を実現するためのプログラムである。1つのユーザプログラムは、使用するハードウェア資源や時間制約の違い等に基づいて分割された複数のタスクによって構成されている。なお、図1では、簡略化のために1つのユーザプログラム112のみを示しているが、メモリ11には、プロセッサシステム1において多様な機能を実現するための複数のユーザプログラムが格納されている。ユーザプログラム112を含む複数のユーザプログラムを構成している複数のタスクの各々は、CPU10とシステムプログラムによって提供されるマルチタスク環境上で実行される。
TID格納部12は、CPU10で実行されているタスクの識別子であるタスクID(TID)を格納する。TIDには、タスクが属するタスクグループを識別可能な情報が含まれている。上述したように、タスクグループとは、1又は複数のタスクの集合を意味する。TID格納部12へのTIDの格納は、実行タスクの切り替えを担うシステムプログラム111によって、タスクの起動に応じて行われる。
TIDの一例を図2に示す。図2の例では、TID全体を32ビットデータとしている。具体的には、32ビットデータのうちの8ビットをタスクグループIDと定義し、タスクが属するタスクグループを示している。また、他の8ビットを個別IDと定義し、タスクグループ内の個々のタスクを示している。さらに、残りの16ビットをリソースフィールドと定義し、タスクが使用するハードウェア資源を示している。リソースフィールドの各ビットとハードウェア資源とは一対一に対応しており、タスクが使用するハードウェア資源に対応するビットが"1"に設定され、使用しないハードウェア資源に対応するビットが"0"に設定される。これにより、リソースフィールドによって、特定のハードウェア資源を使用するタスクを特定することができる。このため、リソースフィールドもタスクグループ、つまり特定のハードウェア資源を使用するタスク集合を識別可能な識別子である。
性能測定部13は、CPU10で実行されるタスクの性能情報をタスクグループ単位で収集する。なお、本実施の形態の性能情報測定部13は、CPU10におけるタスクの実行時間をタスクグループ単位で収集するものであって、評価ID格納部14、マッチング部15、及びカウンタ16を備えている。
評価ID格納部14は、性能測定部13による性能測定の対象とするタスクグループを指定するための評価IDを格納する。評価ID格納部14への評価IDの設定は、性能測定対象のユーザプログラム112の実行に先立って、ユーザの指示に基づいて行なわれる。具体的には、例えば、性能測定対象のユーザプログラム112の実行に先立ってデバッガプログラム(不図示)をCPU10に実行させることとし、プロセッサシステム1が備える入力端子(不図示)を介してユーザの指定値を入力し、入力値を評価ID格納部14に格納すればよい。
マッチング部15は、TID格納部12の格納されたTIDと、評価ID格納部14に格納された評価IDとを照合することにより、CPU10で実行されているタスクが性能情報の収集対象(つまり、タスク実行時間の計測対象)であるタスクグループに属するタスクであるか否かを判定する。実行中のタスクが性能情報の収集対象であるタスクグループに属すると判定した場合、マッチング部15は、カウンタ16を動作させてタスク実行時間を計測する。カウンタ16は、タスク実行時間を保持するカウンタである。
以下では、性能測定部13が備える評価ID格納部14及びマッチング部15の構成例及び動作概要を、図3及び図4を用いて説明する。図3は、評価ID格納部14及びマッチング部15の構成を示すブロック図である。図3において、評価ID格納部14は、PMID格納部141及びPMEN格納部142を備えている。
PMID格納部141には、性能測定の対象とするタスクグループを示すTID全体が格納される。具体的には、TIDに含まれるタスクグループを指定する領域を、性能測定の対象とするタスクグループを示す値としたTID値が格納される。以下では、PMID格納部141に格納される値をマッチング識別子(PMID)と呼ぶ。
PMEN格納部142には、TID及びPMIDにおいて性能測定の対象となるタスクグループを示すビットを指定するためのマスク値(PMEN)が格納される。つまり、図3の構成では、PMID及びPMENによって評価IDを指定することとしている。
例えば、TIDを図2のように定義した場合、特定のタスクグループIDを有するタスクを性能測定の対象とするためには、PMENが"0xFF000000"に設定される。なお、"0x"は、以降に続く表示が16進数であることを示している。また、特定の個別IDを有するタスクを性能測定の対象とするためには、PMENが"0x00FF0000"に設定される。また、リソースフィールドの先頭ビットと対応付けられたハードウェア資源を使用するタスクを性能測定対象とするためには、PMENが"0x00008000"に設定される。
一方、図3において、マッチング部15は、評価範囲選択回路151及び152、並びに比較回路153を備えている。評価範囲選択回路151は、TID格納部12に格納されたTID値と、PMEN格納部142に格納されたPMEN値を入力し、後段の比較回路153において評価対象とするべきTID値の範囲を指定する。具体的には、入力されたTID値とPMEN値との間で各ビットの論理積を演算すればよい。例えば、TID値が"0x8EAB0101"であり、PMEN値が"0xFF000000"である場合、評価範囲選択回路151の出力は"0x8E000000"となる。
評価範囲選択回路152は、PMID格納部141に格納されたPMID値と、PMEN格納部142に格納されたPMEN値を入力し、入力されたTID値とPMEN値との間で各ビットの論理積を演算し、演算結果を出力する。つまり、評価範囲選択回路152は、後段の比較回路153において評価対象とするべきPMID値の範囲を指定する。
比較回路153は、評価範囲選択回路151及び152の出力値を入力し、両者の出力値が一致する場合に、カウンタ16をインクリメントする信号を出力する。例えば、カウンタインクリメント信号を1ビット信号とし、値"1"のときカウンタ16をインクリメントすればよい。
次に、図1のブロック図に基づいて構成された性能測定部13の動作を図4のフローチャートを用いて説明する。まず、ステップS101では、TID格納部12に格納されたTID値と、PMID格納部141に格納されたPMID値とが、評価範囲選択回路151及び152に読み出される。
ステップS102では、評価範囲選択回路151及び152において、TID値及びPMID値とPMEN値とのマスク演算が行われ、TID値及びPMID値の評価範囲が決定される。
ステップS103では、比較回路153において、評価範囲選択回路151及び152の出力値を比較することにより、TID値とPMID値が評価範囲において一致するか否かが判定される。両者が一致する場合には、比較回路153の出力信号に応じてカウンタ16がインクリメントされる(ステップS104)。
図4のフローチャートに示す処理をクロックサイクル毎に繰り返すことにより、カウンタ16には、性能測定の対象となるタスクグループが実行されたクロックサイクル数が格納される。したがって、カウンタ16の格納値を読み出すことにより、タスクグループ単位での実行時間を計測することができる。
続いて、プロセッサシステム1において性能測定を行う場合の全体手順の一例を、図5のフローチャートを用いて説明する。まず、ステップS201では、性能測定の対象となるタスクグループが含まれるユーザプログラム112の実行に先立って、デバッガプログラムを起動し、測定対象タスクグループに対応するPMID及びPMENを設定する。その後、ユーザプログラム112の実行を開始する(ステップS202)。
ステップS203〜S207は、ユーザプログラム11の実行を管理するシステムプログラム111によって実行される処理を示している。
ステップS203では、実行タスクの切り替え要因の発生に応じて、タスク切り替え処理が実行される。具体的には、実行を中断されたタスクのコンテキストを退避するとともに、次に実行されるタスクのコンテキストを読み出す。ステップS204では、次に実行されるタスクのTIDをTID格納部12に書き込む。
ステップS205では、実行準備の整ったタスクを起動する。実行中のタスクは、タスク切り替え要因が発生するまでCPU10で実行される。タスクの実行中にタスク切り替え要因が発生した場合、その切り替え要因が、タスクの終了かつユーザプログラム112の終了でない場合は、ステップS203のタスク切り替え処理に戻り、以降の処理を繰り返し実行する(ステップS206及びS207)。一方、タスク切り替え要因が、タスクの終了かつユーザプログラム112の終了であった場合は、デバッガプログラムを起動して、カウンタ16の値を読み出して性能測定処理を終了する。なお、ステップS202〜S207の処理に並行して、性能測定部13が図4に示す動作を実行していることは勿論である。
上述したように本実施の形態にかかるプロセッサシステム1は、タスクの識別子であるTIDの少なくとも一部を、タスクグループを指定するための識別情報として定義している。さらに、性能測定部13では、性能測定の対象とするタスクグループを評価IDによって指定し、CPU10で実行されているタスクのTIDと評価IDとを照合することによって、特定のタスクグループに属するタスクの性能情報を選択的に取得することとしている。このような構成により、CPU10でのタスクの実行時間等の性能情報をタスクグループ単位で取得することができる。このため、タスク単位で測定した結果を事後的に積算する等の付加的な処理が不要である。また、タスク単位で性能測定を行わないため、性能測定に要する記憶容量が小さくて済む。つまり、1つのタスクグループなら、1つの性能測定部13を動作させ、1つのカウンタ16によって収集すればよく、タスク単位でカウンタ16を用意する必要がない。
また、プロセッサシステム1は、性能測定の対象とするタスクグループを指定するための評価IDを変更することによって、1つの性能測定部13において任意のタスクグループについての性能情報を取得することができる。1つの性能測定部13が特定の固定されたタスクグループの性能情報のみを取得する構成を採用すると、予め多くの性能測定部13を設けておくことが必要となり、ハードウェア規模が増大する。これに対して、プロセッサシステム1は、限られたハードウェア資源で様々なタスクグループに対する性能測定を行うことが可能である。
また、プロセッサシステム1は、評価IDをPMID及びPMENによって指定することにより、評価IDの柔軟な設定を可能としている。つまり、PMEN格納部142に保持する値を変更することにより、TIDのうちでタスクグループを示すビットを柔軟に指定することができる。
発明の実施の形態2.
本実施の形態にかかるプロセッサシステム2の構成を図6に示す。プロセッサシステム2は、TID格納部12に格納するTID値を動的に決定することが可能なシステムプログラム211を備える点がプロセッサシステム1と相違する。なお、CPU10、メモリ11、TID格納部12、及び性能測定部13は、上述したプロセッサシステム1が有するものと同一であるため、詳細な説明を省略する。
システムプログラム211が実行するタスク切り替え処理の手順を図7のフローチャートを用いて説明する。図7に示すタスク切り替え処理は、発明の実施の形態1において説明した図5のステップS203の処理に対応するものである。
まず、タスク切り替え要因の発生によって、システムプログラム211に処理が戻ると、システムプログラム211を示すTIDをTID格納部12に設定する(ステップS301)。続いて、CPU10で次に実行すべきタスクを決定する(ステップS302)。なお、次に実行すべきタスクの選択は、例えば、実行可能状態にあるタスクのうち、最も優先度の高いものを選択することにより行われる。
ステップS303では、次に実行すべきタスクとして選択されたタスクが共通タスクであるか否かを判定する。ここで、共通タスクとは、異なるタスクグループに属する複数のタスクから共通して呼び出されるタスクを意味する。本実施の形態では、このような共通タスクは、特定のタスクグループに属するものとせず、共通タスクの呼び出し元タスクのタスクグループを継承するものとする。
具体的には、次に実行するものとして選択したタスクが共通タスクであった場合、当該共通タスクの呼び出し元タスクのタスクグループを、当該共通タスクのタスクグループに決定する(ステップS304)。例えば、図2示すように、TIDをタスクグループID、個別ID、及びリソースフィールドによって定義した場合、共通タスクのタスクグループIDは、呼び出し元タスクのタスクグループIDを割り当てる。
図7に示したタスク切り替え処理を除いて、システムプログラム211が行う処理は、発明の実施の形態1にかかるシステムプログラム111と共通である。
続いて以下では、共通タスクのタスクグループを呼び出し元タスクに応じて動的に決定することによる利点を説明する。
図8(b)は、発明の実施の形態1のプロセッサシステム1のように、各タスクがいずれかのタスクグループに固定的に属する、つまり、各タスクに対して固定的にタスクグループIDが割り当てられる場合に、TID格納部12へ格納される値と実行タスクとの関係を示したものである。図8(b)では、3つのタスクA、タスクB及びタスクCが実行される場合を示している。また、TIDには、タスクグループID及び個別IDが含まれているものとする。さらに、タスクAはタスクグループ1に、タスクBはタスクグループ2に、タスクCはタスクグループ3に、それぞれ固定的に属するものとしている。さらに、タスクCは、異なるタスクグループに属するタスクA及びタスクBから共通して呼び出される共通タスクである。
このように、タスクグループを固定的に決定した場合、3つのタスクの実行時間は、別々のタスクグループの実行時間として計測され、呼び出されたタスクCの実行時間を呼び出し元タスクであるタスクA又はBと一括して計測することができない。また、タスクCが例えばタスクグループ1に属すると定義しても、タスクグループBによって呼び出されたタスクCの実行時間をタスクグループ1の実行時間として計測することになり、正確な性能測定を行うことができない。
これに対して、本実施の形態のプロセッサシステム2の場合、共通タスクCが属するタスクグループを呼び出し元タスクに応じて動的に変更することとしている。これにより、図8(a)に示すように、共通タスクCがタスクAから呼び出されて実行される時間をタスクグループ1の実行時間として計測することができ、共通タスクCがタスクBから呼び出されて実行される時間をタスクグループ2の実行時間として計測することができる。
その他の実施の形態.
上述した発明の実施の形態1及び2では、プロセッサシステム1及び2が1つの性能測定部13を備えるものとして説明した。しかしながら、プロセッサシステム1及び2は、複数の性能測定部13を備えることとしても良い。また、性能測定部13で計測される性能情報はタスクの実行時間に限られない。例えば、タスク実行中に発生したメモリアクセス回数、特定の命令の発生回数などを計測することとしてもよい。つまり、性能測定部13は、あるイベントの発生回数を、カウンタ16を用いて計測するものであって、計測対象とするイベントは、タスク実行クロック数、メモリアクセス回数などプロセッサシステム内での様々なイベントを対象とすることが可能である。
上述した発明の実施の形態1及び2では、タスクに1つのTIDを付与することとし、TID中の少なくとも一部の領域がタスクグループを識別する領域として使用されることとした。しかしながら、本発明においては、タスクが所属するタスクグループを識別可能なIDがタスク毎に与えられていればよく、例えば、タスクグループIDと、個別IDと、リソースフィールドとを異なる3つIDとしてタスクに付与してもよい。しかしながら、従来のCPUアーキテクチャ及びシステムプログラムへの影響を考慮すると、上述したプロセッサシステム1及び2の構成、つまり、1つのTIDに含まれる特定のビットによってタスクグループを示し、性能測定部13において評価対象ビットを指定する構成が望ましい。マルチタスク環境を備えるプロセッサシステムでは、特許文献1に示すようにタスクを識別するタスクIDによってタスク管理が行われている。このため、プロセッサシステム1及び2の構成であれば、本発明を実施する際に、従来のCPUアーキテクチャ及びシステムプログラムへ与える影響が小さくて済むという利点がある。
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
発明の実施の形態1にかかるプロセッサシステムの構成図である。 TIDの一例を示す図である。 発明の実施の形態1にかかるプロセッサシステムが備える性能測定部の構成図である。 発明の実施の形態1にかかるプロセッサシステムにおける性能測定部の動作を示すフローチャートである。 発明の実施の形態1にかかるプロセッサシステムにおける性能測定手順を示すフローチャートである。 発明の実施の形態2にかかるプロセッサシステムの構成図である。 発明の実施の形態2にかかるプロセッサシステムにおけるタスク切り替え処理を示すフローチャートである。 TIDを動的に変更することによる効果を説明するための図である。
符号の説明
1、2 プロセッサシステム
10 CPU(Central Processing Unit)
11 メモリ
12 TID格納部
13 性能測定部
14 評価ID格納部
15 マッチング部
16 カウンタ
111、211 システムプログラム
112 ユーザプログラム
113 デバッガプログラム
141 PMID格納部
142 PMEN格納部
151、152 評価範囲選択回路
153 比較回路

Claims (13)

  1. 複数のタスクを切り替えて実行するプロセッサと、
    前記プロセッサで実行されるタスクを識別するためのタスクIDを格納するタスクID格納部と、
    前記タスクIDの少なくとも一部の領域と比較される評価IDを格納する評価ID格納部と、
    前記プロセッサで実行されるタスクの性能測定値を計測するカウンタと、
    前記タスクID格納部に格納されたタスクIDと、前記評価ID格納部された評価IDとを照合し、照合結果に応じて前記カウンタを動作させるマッチング部と、
    を備えるプロセッサシステム。
  2. 前記評価IDの値は可変である請求項1に記載のプロセッサシステム。
  3. 前記タスクIDには、タスクが属するタスクグループを示すタスクグループ識別領域が設けられ、
    前記マッチング部は、前記タスクグループ識別領域と前記評価IDとを照合する請求項1に記載のプロセッサシステム。
  4. 前記評価IDは、性能測定の対象とするタスクのタスクグループを指定するマッチング識別子と、前記タスクIDのうちの前記タスクグループ識別領域を指定するマスク値とを含む請求項3に記載のプロセッサシステム。
  5. 前記タスクグループ識別領域の値は、前記プロセッサで実行されるタスクの呼び出し元タスクに応じて決定される請求項3に記載のプロセッサシステム。
  6. 前記タスクIDには、タスクが使用するリソースを指定するリソース識別領域が設けられており、
    前記マッチング部は、前記リソース識別領域と前記評価IDとを照合する請求項1に記載のプロセッサシステム。
  7. 複数のタスクを切り替えて実行するプロセッサと、
    前記プロセッサで実行されるタスクを識別するタスクIDを格納するタスクID格納部と、
    前記プロセッサで実行されるタスクの性能測定を行う性能測定部とを備え、
    前記タスクIDには、タスクが属するタスクグループを示すタスクグループ識別領域が設けられており、
    前記性能測定部は、
    前記タスクID格納部に格納されたタスクIDのタスクグループ識別領域を参照することにより、前記プロセッサで実行されるタスクが性能測定の対象となるタスクグループに属するタスクか否かを判定し、
    前記プロセッサで実行されるタスクが性能測定の対象である場合に、当該タスクに対する性能測定を行うプロセッサシステム。
  8. 前記タスクグループ識別領域によって、前記プロセッサで実行されるタスクが使用するリソースが指定される請求項7に記載のプロセッサシステム。
  9. 前記タスクグループ識別領域の値は、前記プロセッサで実行されるタスクの呼び出し元タスクに応じて決定される請求項7に記載のプロセッサシステム。
  10. 前記性能測定部は、
    前記タスクIDの少なくとも一部の領域と比較される評価IDを格納する評価ID格納部と、
    前記プロセッサで実行されるタスクの性能測定値を計測するカウンタと、
    前記タスクID格納部に格納されたタスクIDと、前記評価ID格納部に格納された評価IDとを比較し、比較結果に応じて前記カウンタを動作させるマッチング部と、
    を備える請求項7に記載のプロセッサシステム。
  11. プロセッサ、前記プロセッサで実行されるタスクを識別するタスクIDを格納するタスクID格納部、及び前記プロセッサで実行されるタスクの性能測定値を計測するカウンタを有するプロセッサシステムにおける性能測定方法であって、
    前記タスクIDには、タスクが属するタスクグループを示すタスクグループ識別領域が設けられており、
    前記プロセッサで実行されるタスクの切り替えに応じて、前記プロセッサにおいて新たに実行されるタスクのタスクIDを前記タスクID格納部に格納し、
    前記タスクID格納部に格納されたタスクIDのタスクグループ識別領域を参照することにより、前記プロセッサで実行されるタスクが性能測定の対象となるタスクグループに属するタスクか否かを判定し、
    前記プロセッサで実行されるタスクが性能測定の対象である場合に、当該タスクの性能測定値を前記カウンタに計測させる、性能測定方法。
  12. 前記タスクグループ識別領域によって、前記プロセッサで実行されるタスクが使用するリソースが指定される請求項11に記載の方法。
  13. 前記前記タスクID格納部に格納するタスクID値を、前記プロセッサで実行されるタスクの呼び出し元タスクに応じて決定する請求項11に記載の方法。
JP2006131246A 2006-05-10 2006-05-10 プロセッサシステム及びプロセッサシステムの性能測定方法 Active JP4971679B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006131246A JP4971679B2 (ja) 2006-05-10 2006-05-10 プロセッサシステム及びプロセッサシステムの性能測定方法
US11/737,039 US7996658B2 (en) 2006-05-10 2007-04-18 Processor system and method for monitoring performance of a selected task among a plurality of tasks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006131246A JP4971679B2 (ja) 2006-05-10 2006-05-10 プロセッサシステム及びプロセッサシステムの性能測定方法

Publications (2)

Publication Number Publication Date
JP2007304765A true JP2007304765A (ja) 2007-11-22
JP4971679B2 JP4971679B2 (ja) 2012-07-11

Family

ID=38750945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006131246A Active JP4971679B2 (ja) 2006-05-10 2006-05-10 プロセッサシステム及びプロセッサシステムの性能測定方法

Country Status (2)

Country Link
US (1) US7996658B2 (ja)
JP (1) JP4971679B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140130A (ja) * 2007-12-05 2009-06-25 Nec Electronics Corp データ処理装置及びデータ処理装置の制御方法
JP2010003057A (ja) * 2008-06-19 2010-01-07 Fujitsu Microelectronics Ltd プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法
JP2010160716A (ja) * 2009-01-09 2010-07-22 Toyota Motor Corp 検証装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008299667B2 (en) * 2007-09-12 2013-05-02 Bae Systems Plc Urgency based scheduling
JP2010244393A (ja) * 2009-04-08 2010-10-28 Renesas Electronics Corp パフォーマンス評価装置、及びパフォーマンス評価方法
US9733644B2 (en) 2012-07-17 2017-08-15 Elwha Llc Unmanned device interaction methods and systems
US20140025233A1 (en) 2012-07-17 2014-01-23 Elwha Llc Unmanned device utilization methods and systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0244457A (ja) * 1988-08-05 1990-02-14 Mitsubishi Electric Corp プログラマブル制御装置
JPH03164966A (ja) * 1989-11-24 1991-07-16 Nec Software Ltd 情報処理システム
JP2005216078A (ja) * 2004-01-30 2005-08-11 Nec Corp 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
JP2006092029A (ja) * 2004-09-21 2006-04-06 Fujitsu Ltd マイクロコンピュータ及びトレース制御方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151004A (ja) 1991-11-30 1993-06-18 Nec Corp タスクのcpu占有時間測定方法
US5657253A (en) * 1992-05-15 1997-08-12 Intel Corporation Apparatus for monitoring the performance of a microprocessor
US5835705A (en) * 1997-03-11 1998-11-10 International Business Machines Corporation Method and system for performance per-thread monitoring in a multithreaded processor
US6098169A (en) * 1997-12-23 2000-08-01 Intel Corporation Thread performance analysis by monitoring processor performance event registers at thread switch
US7448025B2 (en) * 2000-12-29 2008-11-04 Intel Corporation Qualification of event detection by thread ID and thread privilege level
US20050183065A1 (en) * 2004-02-13 2005-08-18 Wolczko Mario I. Performance counters in a multi-threaded processor
US7441242B2 (en) * 2004-04-22 2008-10-21 International Business Machines Corporation Monitoring performance of a logically-partitioned computer
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0244457A (ja) * 1988-08-05 1990-02-14 Mitsubishi Electric Corp プログラマブル制御装置
JPH03164966A (ja) * 1989-11-24 1991-07-16 Nec Software Ltd 情報処理システム
JP2005216078A (ja) * 2004-01-30 2005-08-11 Nec Corp 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
JP2006092029A (ja) * 2004-09-21 2006-04-06 Fujitsu Ltd マイクロコンピュータ及びトレース制御方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140130A (ja) * 2007-12-05 2009-06-25 Nec Electronics Corp データ処理装置及びデータ処理装置の制御方法
US8938742B2 (en) 2007-12-05 2015-01-20 Renesa Electronics Corporation Processing system for switching between execution of a normal task and a management task
US9223573B2 (en) 2007-12-05 2015-12-29 Renesas Electronics Corporation Data processing device and method of controlling the same
JP2010003057A (ja) * 2008-06-19 2010-01-07 Fujitsu Microelectronics Ltd プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法
JP2010160716A (ja) * 2009-01-09 2010-07-22 Toyota Motor Corp 検証装置

Also Published As

Publication number Publication date
US20070277178A1 (en) 2007-11-29
JP4971679B2 (ja) 2012-07-11
US7996658B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
JP4971679B2 (ja) プロセッサシステム及びプロセッサシステムの性能測定方法
CN111309372A (zh) 定时任务执行方法、装置、计算机设备和存储介质
US9043806B2 (en) Information processing device and task switching method
CN114510339B (zh) 一种计算任务调度方法、装置、电子设备及可读存储介质
JP4905974B2 (ja) プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム
US11288164B2 (en) Dynamic distributed tracing instrumentation in a microservice architecture
JP2017531852A (ja) リソースリーク検出の方法、装置及びシステム
US20100095305A1 (en) Simultaneous multithread instruction completion controller
US10967813B2 (en) Vehicle control device
JP2006164185A (ja) デバッグ装置
WO2020073200A1 (zh) 调试程序的方法和系统
CN111045730A (zh) 一种用于risc-v架构的硬件快速中断处理系统及其方法
CN105912394B (zh) 线程处理方法和系统
CN110659125A (zh) 一种分析任务执行方法、装置、系统及电子设备
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
JP6666216B2 (ja) 電子制御装置、解析システム
JP2018163656A (ja) 追跡データ表現
JP2005215816A (ja) ハードウェアモニタを用いた性能プロファイリング方法
US8468394B2 (en) Method of tracing selected activities within a data processing system by tagging selected items and tracing the tagged items
CN111090575B (zh) 测试方法
CN112860529A (zh) 通用分析装置与方法
CN109002322B (zh) 用于执行部件模块级验证的寄存器分配与释放方法及部件
US20220156074A1 (en) Electronic device and multiplexing method of spatial
EP2284708B1 (en) Microprogammable device code tracing
US20200409753A1 (en) External exception handling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

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: 20120327

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: 20120406

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4971679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350