WO2009096161A1 - プロセッサ性能解析装置、方法及びシミュレータ - Google Patents

プロセッサ性能解析装置、方法及びシミュレータ Download PDF

Info

Publication number
WO2009096161A1
WO2009096161A1 PCT/JP2009/000246 JP2009000246W WO2009096161A1 WO 2009096161 A1 WO2009096161 A1 WO 2009096161A1 JP 2009000246 W JP2009000246 W JP 2009000246W WO 2009096161 A1 WO2009096161 A1 WO 2009096161A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
information
access request
memory
access
Prior art date
Application number
PCT/JP2009/000246
Other languages
English (en)
French (fr)
Inventor
Osamu Kawamura
Atsushi Ubukata
Original Assignee
Panasonic Corporation
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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to US12/864,935 priority Critical patent/US20100332690A1/en
Priority to JP2009551426A priority patent/JPWO2009096161A1/ja
Publication of WO2009096161A1 publication Critical patent/WO2009096161A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Definitions

  • the present invention relates to an apparatus for analyzing the performance of a processor in a system LSI (Large Scale Integration), and in particular, analyzes the performance of a multi-thread processor having a plurality of logical processors in the processor and capable of executing a plurality of programs simultaneously. It is related with the apparatus which performs.
  • LSI Large Scale Integration
  • a system LSI in which a processor and a functional core other than the processor are integrated is widely used in today's digital televisions and digital recorders.
  • Functional cores include, for example, general-purpose IF (Interface) circuits such as PCI (Peripheral Component Interconnect) bus and IDE (Integrated Drive Electronics) bus, codec circuits that encode and decode content data such as video and music, and paid content Encryption processing circuit for protecting copyright information.
  • general-purpose IF Interface
  • PCI Peripheral Component Interconnect
  • IDE Integrated Drive Electronics
  • FIG. 8 is a block diagram of a conventional processor performance evaluation apparatus described in Patent Document 1.
  • FIG. 8 is a block diagram of a conventional processor performance evaluation apparatus described in Patent Document 1.
  • 8 includes an instruction unit 401, an arithmetic unit 402, a primary cache unit 403, and a secondary cache unit 404.
  • the secondary cache unit 404 includes a secondary cache 405 and an external access unit 406, and outputs each piece of hardware information in the computer.
  • the secondary cache 405 outputs information such as the number of accesses, the number of hits, and the request type.
  • the external access unit 406 outputs information such as the number of write and read queues clogged in the access buffer in the access between the secondary cache 405 and the memory 40.
  • a core ID for identifying the instruction unit 401 and the arithmetic unit 402 is provided, and the secondary cache 405 and Information indicating where the external access unit 406 is used is added and output.
  • the output information makes it possible to grasp the operation of the entire computer and facilitate performance bottleneck analysis.
  • the conventional configuration described above has a problem that it is not possible to obtain information on performance degradation factors other than the processor, while it can grasp performance degradation factors such as cache misses and TLB misses occurring in the processor. ing.
  • the performance degradation factor other than the processor is, for example, an event such as a memory access from the processor being waited for a long time because the DMA (Direct Memory Access) transfer of the functional core occupies the memory IF resource.
  • DMA Direct Memory Access
  • the present invention has been made in view of the above problems, and provides a processor performance analysis apparatus capable of analyzing system performance deterioration factors including not only the processor but also the operating state of functional cores other than the processor.
  • the purpose is to provide.
  • a processor performance analysis apparatus includes a plurality of logical processors, performs parallel processing by the plurality of logical processors, and issues a first access request to a memory; A function core that executes processing different from the processing executed by the processor and that issues a second access request to the memory; accepts the first access request and the second access request; A processor performance analysis device for analyzing the performance of the processor in a system LSI including a memory interface for controlling access, wherein the processor monitors the processor and outputs first information indicating an operation state of the processor.
  • the memory interface is monitored by monitoring information output means and the memory interface.
  • the second information output means for outputting second information indicating the state of the memory access caused by the first and second access requests received by the memory, and the performance of the processor using the first information and the second information.
  • the processor performance analysis apparatus further includes third information output means for outputting third information indicating a factor by which the processor issues the first access request by monitoring the processor. May further analyze the performance of the processor using the third information.
  • the processor issues the first access request to the memory for each of the logical processors
  • the third information output means assigns attribute information specifying the logical processor that has issued the first access request to the first processor. You may output as 3 information.
  • the processor issues the first access request when a prefetch or a cache miss occurs, and the third information output means causes the processor to issue the first access request because of the prefetch and the cache. Information indicating which of the mistakes may be output as the third information.
  • the cache miss is an instruction cache miss, a data cache miss, and a TLB miss.
  • the second information output means may output information indicating whether the access request received by the memory interface is the first access request or the second access request as the second information.
  • the second information output means completes the data transfer after receiving the first access request or the information related to the waiting order of the second access request, or the first access request or the second access request.
  • the information about the time until may be output as the second information.
  • the first information output means may include information indicating whether the logical processor is operating or in a waiting state, a cache hit or miss of the processor, or a prefetch operation hit or miss. You may output as 1st information.
  • the system LSI may include a plurality of the processors, and the processor performance analysis device may include the first information output unit corresponding to each of the plurality of processors.
  • the processor performance analysis apparatus may further include trigger output means for receiving the analysis result of the processor by the analysis means and outputting a trigger signal when the analysis result satisfies a predetermined condition. .
  • the processor performance analysis apparatus further relates to a third access request issued from the processor to the functional core via a bus connecting the processor and the functional core by monitoring the processor.
  • Bus access attribute information output means for outputting fourth information may be provided, and the analysis means may further analyze the performance of the processor using the fourth information.
  • the present invention includes a plurality of logical processors, performs parallel processing by the plurality of logical processors, and performs processing different from processing executed by the processor that issues a first access request to the memory.
  • a system LSI comprising: a functional core that executes and issues a second access request to the memory; and a memory interface that receives the first access request and the second access request and controls access to the memory
  • a processor performance analysis simulator for analyzing the performance of the processor by simulating the operation of the processor, the first information output means for outputting the first information indicating the operation state of the processor, and the access accepted by the memory interface Output second information indicating the state of memory access caused by the request
  • Second information output means can also be implemented as a processor performance analysis simulator comprising analyzing means for analyzing the performance of the processor by using the second information and the first information.
  • the present invention can be realized not only as an apparatus, but also as a method using steps of processing means constituting the apparatus, as a program for causing a computer to execute the steps, or as a computer read recording the program It can also be realized as a possible recording medium such as a CD-ROM, or as information, data or a signal indicating the program.
  • These programs, information, data, and signals may be distributed via a communication network such as the Internet.
  • processor performance analysis apparatus of the present invention it is possible to evaluate the processor performance including the influence of the memory access operation of the functional core other than the processor included in the system LSI.
  • performance bottleneck analysis becomes easy, and it becomes easy to improve performance by correcting software and hardware.
  • FIG. 1 is a block diagram of a system LSI including the processor performance analysis apparatus according to the first embodiment.
  • FIG. 2 is a flowchart showing the operation of the processor performance analysis apparatus according to the first embodiment.
  • FIG. 3 is a block diagram of a system LSI including the processor performance analysis apparatus according to the second embodiment.
  • FIG. 4 is a flowchart illustrating the operation of the processor performance analysis apparatus according to the second embodiment.
  • FIG. 5 is a block diagram of a system LSI including the processor performance analysis apparatus according to the third embodiment.
  • FIG. 6 is a flowchart illustrating the operation of the processor performance analysis apparatus according to the third embodiment.
  • FIG. 7 is a block diagram of a system LSI including a plurality of multithread processors.
  • FIG. 8 is a block diagram of a conventional processor performance evaluation apparatus.
  • FIG. 1 is a block diagram of a system LSI including a processor performance analysis apparatus according to this embodiment.
  • the system LSI 10 includes a multithread processor 11, a functional core 12, and a memory interface 13.
  • the multi-thread processor 11 has a plurality of logical processors (LPs), and can execute a plurality of programs in parallel by the logical processors. In addition, a memory access request to the memory 20 is issued in order to write an instruction or data to the memory 20 or read from the memory 20 as necessary when executing the program.
  • the multithread processor 11 includes a primary cache, a secondary cache, a TLB, and the like (not shown). For example, when a prefetch or a cache miss occurs, the multithread processor 11 issues a memory access request to the memory 20. The memory access request is issued for each logical processor.
  • the functional core 12 is a plurality of functional cores that execute processing different from that of the multi-thread processor 11 and issue a memory access request to the memory 20.
  • the functional core 12 includes, for example, a DMA controller, an interface circuit to an external device, an AV (Audio Visual) codec circuit that compresses or expands music and video content data, and an encryption / decryption that performs data encryption and decryption Circuit.
  • the interface circuit to the external device is, for example, a PCI interface, a USB (Universal Serial Bus) interface, or the like.
  • a DMA controller that is one of the functional cores 12 controls access between each functional core 12 and the memory 20. Note that the functional core 12 is not necessarily plural.
  • the memory interface 13 receives a memory access request to the memory 20 issued by the multi-thread processor 11 and the functional core 12. Then, the access to the memory 20 is controlled by arbitrating the received memory access request.
  • the processor performance analysis apparatus analyzes the operation state of the multithread processor 11 included in the system LSI 10 and the state of memory access from the multithread processor 11 and the functional core 12.
  • FIG. 1 also shows the configuration of the processor performance analysis apparatus of this embodiment.
  • the processor performance analysis apparatus 100 in FIG. 1 includes an operation information output unit 101, an access attribute information output unit 102, an access information output unit 103, and an analysis information output unit 104.
  • the operation information output unit 101 and the access attribute information output unit 102 are provided in the multi-thread processor 11.
  • the access information output unit 103 is provided in the memory interface 13.
  • the operation information output unit 101 monitors the multi-thread processor 11 to dynamically output operation information indicating the operation state inside the multi-thread processor 11.
  • the operation information includes, for example, whether each of the logical processors is operating or is in a data access waiting state, whether the number of operating logical processors exceeds the number of arithmetic units, and whether a waiting state has occurred. Is prefetch access, prefetch operation is hit or miss, instruction cache and data cache are hit or miss, TLB is hit or miss, secondary cache is It is information such as whether it is a hit or a miss.
  • the access attribute information output unit 102 monitors the multi-thread processor 11 and outputs memory access attribute information related to a memory access request to the memory 20 issued by the multi-thread processor 11.
  • the memory access attribute information is, for example, ID information indicating which logical processor is issuing a memory access request. Also, whether a memory access request is issued due to an instruction or data prefetch, an instruction or data cache miss, a TLB miss, a secondary cache miss, or an access to a non-cacheable area This is information such as access factor information indicating whether it is something.
  • the access information output unit 103 monitors the memory interface 13 to output memory access information related to a memory access state generated by a memory access request accepted by the memory interface 13.
  • the memory access information is, for example, information indicating whether the accepted memory access request is issued from the multi-thread processor 11 or the functional core 12.
  • the access information output unit 103 issues the accepted memory access request to the multi-thread processor 11, the memory access attribute information output from the access attribute information output unit 102, the memory The operation state in the interface 13 is correlated and output as memory access information.
  • the memory access information includes information indicating whether the received memory access request is issued by a logical processor having any ID information, prefetch, cache miss, or TLB miss. Is output as As another example of the memory access information, the time from when the access request is received to when the data transfer starts and / or ends, the number of access requests being received when a plurality of access requests overlap, For example, the order of processing queues.
  • the analysis information output unit 104 associates the operation information, the memory access attribute information, and the memory access information, and outputs analysis information related to the system performance.
  • the analysis information includes, for example, a period in which all the logical processors of the multi-thread processor 11 are not operating and are in a waiting state, cache hit rate for each logical processor, information on the number of memory accesses and memory access wait time, and multi-thread. This is information related to an increase in the memory access completion waiting time due to the memory access of the functional core 12 in memory access from the processor 11.
  • FIG. 2 is a flowchart showing the operation of the processor performance analysis apparatus 100 of the present embodiment.
  • the operation information output unit 101 outputs operation information indicating the processing status of each logical processor by monitoring a plurality of logical processors included in the multi-thread processor 11 (S101). Specifically, for each logical processor, information indicating whether it is operating or in a data access waiting state, whether the cache is hit or missed, and the like are output as operation information.
  • the access attribute information output unit 102 outputs a memory access attribute information related to a memory access request to the memory 20 issued by the multi-thread processor 11 by monitoring a plurality of logical processors (S102). Specifically, information such as ID information that identifies a logical processor that has issued a memory access request and access factor information that indicates a factor that issues a memory access request is output as memory access attribute information.
  • the access information output unit 103 monitors the memory interface 13 so that the memory access request being accepted by the memory interface 13 is issued by the multithread processor 11 or issued by the functional core 12. Is determined (S103).
  • the access information output unit 103 receives the memory access attribute information output from the access attribute information output unit 102 and the memory interface 13
  • the memory access information is output in association with the operation state (S104). Specifically, information specifying the logical processor that issued the accepted memory access request and information indicating whether the memory access request is due to prefetch or cache miss are output as memory access information. .
  • the access information output unit 103 indicates that the accepted memory access request is issued by the functional core 12.
  • Information indicating the presence or the like is output as memory access information (S105).
  • the analysis information output unit 104 uses the operation information (output in S101), the memory access attribute information (output in S102), and the memory access information (output in S104 or S105) to determine the operation status of the system LSI 10
  • the analysis information is output by analyzing (S106).
  • operation information output (S101) or the memory access attribute information output (S102) may be performed first or may be parallelized.
  • the processor performance analysis apparatus can obtain the operation status of the entire system by associating the operation information of the processor with the memory access information from the processor and the functional core. With the above configuration, it is possible to perform an appropriate system bottleneck analysis and system performance improvement study.
  • the processor performance analysis apparatus outputs a trigger signal for operating an external apparatus or the like based on the analysis result of the processor performance.
  • FIG. 3 is a block diagram of a system LSI provided with the processor performance analysis apparatus of the present embodiment.
  • the processor performance analysis apparatus 200 shown in FIG. 3 is different from the processor performance analysis apparatus 100 of FIG. 1 in that a trigger output unit 201 is newly added and an analysis information output unit instead of the analysis information output unit 104 The difference is that 204 is added.
  • description of the same components as those in FIG. 1 will be omitted, and different points will be mainly described.
  • the trigger output unit 201 When the trigger output unit 201 receives a signal indicating that the system state satisfies a specific condition from the analysis information output unit 104, the trigger output unit 201 outputs the signal to the outside of the system LSI 10 as a trigger signal. For example, a trigger signal is output to a debugger for the multithread processor 11 connected to the outside of the system LSI 10. Further, as an example of the system state detected by the analysis information output unit 104, all logical processors of the multi-thread processor 11 are in a data waiting state, all program executions are stopped, and a specific logical processor A state where a system bottleneck has occurred, such as a state where the memory access waiting time exceeds a predetermined value, can be mentioned.
  • the analysis information output unit 204 generates analysis information by associating operation information, memory access attribute information, and memory access information, and outputs the generated analysis information not only to the system LSI 10 but also to the trigger output unit 201.
  • a specific example of the analysis information is the same as in the first embodiment.
  • FIG. 4 is a flowchart showing the operation of the processor performance analysis apparatus 200 of this embodiment.
  • the processing shown in the figure is different from the processing shown in FIG. 2 in that processing for outputting a trigger signal (S207 and S208) is further added.
  • FIG. 4 processes denoted by the same reference numerals as those in FIG. 2 are the same processes as those in the first embodiment, and description thereof will be omitted below.
  • the analysis information output unit 104 uses operation information (output in S101), memory access attribute information (output in S102), and memory access information (output in S104 or S105).
  • the analysis information is output by analyzing the operation status of the system LSI 10 (S106).
  • the trigger output unit 201 determines whether or not the state of the system indicated by the analysis information output from the analysis information output unit 104 satisfies the specific condition (S207). When the system state satisfies the specific condition (Yes in S207), the trigger output unit 201 outputs a trigger signal indicating that the system state satisfies the specific condition to the outside of the system LSI 10 (S208).
  • the trigger signal is not output and only the analysis information is output to the outside.
  • the processor performance analysis apparatus outputs a trigger signal for operating an external apparatus or the like based on the analysis result of the processor performance. This makes it easy to check the software operation when a system bottleneck occurs, and the convenience in system bottleneck analysis is further improved.
  • the processor performance analysis apparatus can perform analysis based on information on an access request issued from a processor to a functional core when the processor and the functional core are connected by an IO bus. .
  • FIG. 5 is a block diagram of a system LSI provided with the processor performance analysis apparatus of the present embodiment.
  • the processor performance analysis device 300 shown in FIG. 5 is different from the processor performance analysis device 100 of FIG. 1 in that an IO bus access attribute information output unit 301 is newly added and instead of the analysis information output unit 104. The difference is that an analysis information output unit 304 is added.
  • description of the same components as those in FIG. 1 will be omitted, and different points will be mainly described.
  • the IO bus access attribute information output unit 301 outputs the IO bus access attribute information related to the access request transferred via the IO bus connecting the multi-thread processor 11 and the functional core 12 by monitoring the multi-thread processor 11. To do.
  • the IO bus access attribute information is attribute information related to access to the functional core 12 via the IO bus used for register access from the multi-thread processor 11 to the functional core 12. Also, ID information indicating which logical processor is issuing an IO bus access request.
  • the analysis information output unit 304 generates analysis information by associating operation information, memory access attribute information, memory access information, and IO bus access attribute information, and outputs the generated analysis information to the outside of the system LSI 10.
  • FIG. 6 is a flowchart showing the operation of the processor performance analysis apparatus 300 of this embodiment.
  • the process shown in the figure is different from the process shown in FIG. 2 in that a process of outputting IO bus access attribute information (S303) is further added.
  • S303 IO bus access attribute information
  • the IO bus access attribute information output unit 301 outputs the IO bus access attribute information by monitoring the multi-thread processor 11. (S302). If the access request is not transferred via the IO bus, the IO bus access attribute information output unit 301 uses the information indicating that the access request is not transferred via the IO bus as the IO bus access attribute information. It may be output, or IO bus access attribute information may not be output.
  • the access information output unit 103 outputs memory access attribute information (S104 or S105).
  • the analysis information output unit 304 outputs operation information (output at S101), memory access attribute information (output at S102), IO bus access attribute information (output at S303), and memory access information (output at S104 or S105).
  • the analysis information is output by analyzing the operation status of the system LSI 10 (S106).
  • the operation information output (S101), the memory access attribute information output (S102), and the IO bus access attribute information output (S303) may be performed first or in parallel. .
  • the processor performance analysis apparatus can analyze not only the access from the processor to the memory but also the performance penalty due to the IO bus access from the processor to the functional core. The accuracy in analysis is further improved.
  • processor performance analysis apparatus and the processor performance analysis method of the present invention have been described based on the embodiment, the present invention is not limited to this embodiment. Unless it deviates from the meaning of this invention, the form which carried out the various deformation
  • the multi-thread processor 11 is provided as the processor of the system LSI 10 of the present embodiment, a multi-processor configuration with a plurality of processors may be employed.
  • the system LSI 10 includes a plurality of multithread processors 11.
  • the plurality of multi-thread processors 11 includes an operation information output unit 101 and an access attribute information output unit 102 corresponding to each.
  • the analysis processing of the performance of the processor included in the system LSI 10 may be simulated.
  • the multi-thread processor 11, the functional core 12, the memory interface 13, and the like are realized as software on the computer, and the processor performance analysis method illustrated in FIGS. 2, 4, 6, and the like is executed by the computer.
  • the system performance is analyzed by causing the multi-thread processor 11 and the functional core 12 realized on the computer to execute a predetermined program in a pseudo manner.
  • the processor performance analysis apparatus of the present invention is useful when analyzing performance bottlenecks of system LSIs and performing performance improvement studies by modifying hardware and software. For example, it can be applied to uses such as debugging of parallel programming processing of a multi-thread processor.

Abstract

 プロセッサ内だけでなく、プロセッサ以外の機能コアの動作状態も含めたシステム性能劣化要因を解析する。複数の論理プロセッサにより並列処理を行うマルチスレッドプロセッサ(11)と、マルチスレッドプロセッサ(11)とは異なる処理を実行する機能コア(12)と、各アクセス要求とを受け付け、メモリ(20)へのアクセスを制御するメモリインタフェース(13)とを備えるシステムLSI(10)におけるマルチスレッドプロセッサ(11)の性能を解析するプロセッサ性能解析装置(100)であって、マルチスレッドプロセッサ(11)を監視することで動作情報を出力する動作情報出力部(101)と、メモリインタフェース(13)を監視することでメモリアクセス情報を出力するアクセス情報出力部(103)と、動作情報とメモリアクセス情報とを用いてマルチスレッドプロセッサ(11)の性能を解析する解析情報出力部(104)とを備える。

Description

プロセッサ性能解析装置、方法及びシミュレータ
 本発明は、システムLSI(Large Scale Integration)におけるプロセッサの性能を解析する装置に関し、特に、プロセッサ内部に複数の論理プロセッサを持ち、複数のプログラムを同時並行で実行可能なマルチスレッドプロセッサの性能を解析する装置に関するものである。
 半導体の製造プロセス技術の微細化に伴い、より多くの機能を1チップに集積することでコスト、機能両面での向上が可能となる。プロセッサとプロセッサ以外の機能コアとを集積したシステムLSIは、今日のデジタルテレビ及びデジタルレコーダなどにおいて広く採用されている。機能コアとは、例えば、PCI(Peripheral Component Interconnect)バス及びIDE(Integrated Drive Electronics)バスなどの汎用IF(Interface)回路、映像及び音楽などのコンテンツデータをエンコード及びデコードするコーデック回路、並びに、有料コンテンツなどの著作権情報を守るための暗号処理回路などである。
 システムLSIでは、多種の機能が集積されているため、自ずと各機能処理を制御するソフトウェアプログラムの並列処理に対する要望が大きい。そのため、システムLSIにおける処理性能向上のために、複数プログラムの並列実行に適したマルチスレッドプロセッサが採用されることも多い。
 一方で、マルチスレッドプロセッサで複数プログラムの並列実行を効率よく行うためには、メモリなど共有資源を利用する際にアクセスが集中して性能のボトルネックとならないように配慮する必要がある。しかし、複数の要因が複雑に絡み合うマルチスレッド処理の挙動を把握することは容易ではない。多くの環境要因が複雑に絡み合うシステムにおいて、マルチスレッドプロセッサのハードウェアにおけるスレッド間の処理切替制御が不適切なのか、同時並行で実行されるソフトウェアのアルゴリズムが不適切なのかを見極めることは極めて困難であった。すなわち、システムLSIの持つポテンシャルを有効に発揮させることが困難であるという課題があった。
 そこで、上記課題を解決するためには、マルチスレッド処理時のプロセッサ処理性能を把握するプロセッサ性能評価装置を設けることが必要となる。
 従来のプロセッサ性能評価装置としては、プロセッサ内のメモリアクセス用バッファ、キュー及びセレクタの状態、並びに、キャッシュ、分岐予測及びTLB(Translation Lookaside Buffer)のヒット・ミスなどを同一時間上に揃えて関連付けて出力するものがある(例えば、特許文献1参照)。図8は、特許文献1に記載された従来のプロセッサ性能評価装置のブロック図である。
 図8のコンピュータ30は、命令ユニット401と、演算ユニット402と、1次キャッシュユニット403と、2次キャッシュユニット404とを備える。
 2次キャッシュユニット404は、2次キャッシュ405と、外部アクセスユニット406とを備え、コンピュータ内の各ハードウェア情報を出力する。2次キャッシュ405は、アクセス数、ヒット回数、及びリクエスト種別などの情報を出力する。外部アクセスユニット406は、2次キャッシュ405とメモリ40との間のアクセスにおけるアクセスバッファに詰まれた書き込み、及び、読み出しのキュー数などの情報を出力する。
 さらに、命令ユニット401及び演算ユニット402の動作と2次キャッシュ405及び外部アクセスユニット406の動作とを関連付けるために、命令ユニット401及び演算ユニット402を識別するコアIDなどを設け、2次キャッシュ405及び外部アクセスユニット406をどこが使用しているのかを示す情報を付加して出力する。これら出力される情報によりコンピュータ全体の動作を把握することが可能となり、性能ボトルネック解析を容易にすることができる。
国際公開第2004/055672号パンフレット
 しかしながら、上記従来の構成では、プロセッサ内で発生するキャッシュミスやTLBミスなどの性能劣化要因は把握できるのに対して、プロセッサ以外の性能劣化要因については情報を得ることができないという課題を有している。プロセッサ以外の性能劣化要因は、例えば、機能コアのDMA(Direct Memory Access)転送がメモリIF資源を占有するためにプロセッサからのメモリアクセスが長時間待たされていることなどの事象についてである。
 そこで、本発明は、上記課題を鑑みてなされたものであって、プロセッサ内だけでなく、プロセッサ以外の機能コアの動作状態も含めたシステム性能劣化要因を解析することができるプロセッサ性能解析装置を提供することを目的とする。
 上記課題を解決するために、本発明のプロセッサ性能解析装置は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第1アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第2アクセス要求を発行する機能コアと、前記第1アクセス要求と前記第2アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムLSIにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、前記プロセッサを監視することで、前記プロセッサの動作状態を示す第1情報を出力する第1情報出力手段と、前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第1及び第2アクセス要求によって生じるメモリアクセスの状態を示す第2情報を出力する第2情報出力手段と、前記第1情報と前記第2情報とを用いて前記プロセッサの性能を解析する解析手段とを備える。
 これにより、マルチスレッドプロセッサのみならず、機能コアによるメモリアクセスに伴う性能劣化要因も解析することが可能となる。
 また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサが前記第1アクセス要求を発行する要因を示す第3情報を出力する第3情報出力手段を備え、前記解析手段は、さらに、前記第3情報を用いて前記プロセッサの性能を解析してもよい。
 例えば、前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第1アクセス要求を発行し、前記第3情報出力手段は、前記第1アクセス要求を発行した論理プロセッサを特定する属性情報を前記第3情報として出力してもよい。
 また、前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第1アクセス要求を発行し、前記第3情報出力手段は、前記プロセッサが前記第1アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第3情報として出力してもよい。
 より具体的には、前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びTLBミスである。
 これにより、プロセッサが発行するアクセス要求の発行元などの情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
 また、前記第2情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第1アクセス要求及び前記第2アクセス要求のいずれであるかを示す情報を前記第2情報として出力してもよい。
 また、前記第2情報出力手段は、前記第1アクセス要求若しくは前記第2アクセス要求の待ち順序に関する情報、又は、前記第1アクセス要求若しくは前記第2アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第2情報として出力してもよい。
 これにより、メモリへのアクセス要求の処理状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
 また、前記第1情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第1情報として出力してもよい。
 これにより、プロセッサの動作状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
 また、前記システムLSIは、前記プロセッサを複数備え、前記プロセッサ性能解析装置は、前記複数のプロセッサのそれぞれに対応する前記第1情報出力手段を備えてもよい。
 これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。
 また、前記プロセッサ性能解析装置は、さらに、前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備えてもよい。
 これにより、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力することにより、プロセッサの状況に応じた様々な処理を実行することができる。例えば、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことなどができる。
 また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第3アクセス要求に関する第4情報を出力するバスアクセス属性情報出力手段を備え、前記解析手段は、さらに、前記第4情報を用いて前記プロセッサの性能を解析してもよい。
 これにより、プロセッサから機能コアへのアクセスに起因するプロセッサの動作状況に関する情報を得ることができ、プロセッサの性能をより詳細に解析することができる。
 なお、本発明は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第1アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第2アクセス要求を発行する機能コアと、前記第1アクセス要求と前記第2アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムLSIの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、前記プロセッサの動作状態を示す第1情報を出力する第1情報出力手段と、前記メモリインタフェースが受け付けるアクセス要求によって生じるメモリアクセスの状態を示す第2情報を出力する第2情報出力手段と、前記第1情報と前記第2情報とを用いて前記プロセッサの性能を解析する解析手段とを備えるプロセッサ性能解析シミュレータとしても実現できる。
 さらに、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
 本発明のプロセッサ性能解析装置によれば、システムLSIに含まれるプロセッサ以外の機能コアのメモリアクセス動作の影響も含めたプロセッサ性能を評価することが可能となる。また、性能ボトルネック解析が容易となり、ソフトウェア及びハードウェアの修正による性能改善を図ることが容易となる。
図1は、実施の形態1のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。 図2は、実施の形態1のプロセッサ性能解析装置の動作を示すフローチャートである。 図3は、実施の形態2のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。 図4は、実施の形態2のプロセッサ性能解析装置の動作を示すフローチャートである。 図5は、実施の形態3のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。 図6は、実施の形態3のプロセッサ性能解析装置の動作を示すフローチャートである。 図7は、複数のマルチスレッドプロセッサを備えるシステムLSIのブロック図である。 図8は、従来のプロセッサ性能評価装置のブロック図である。
符号の説明
10 システムLSI
11 マルチスレッドプロセッサ
12 機能コア
13 メモリインタフェース
20、40 メモリ
30 コンピュータ
100、200、300 プロセッサ性能解析装置
101 動作情報出力部
102 アクセス属性情報出力部
103 アクセス情報出力部
104、204、304 解析情報出力部
201 トリガ出力部
301 IOバスアクセス属性情報出力部
401 命令ユニット
402 演算ユニット
403 1次キャッシュユニット
404 2次キャッシュユニット
405 2次キャッシュ
406 外部アクセスユニット
 以下、本発明の実施の形態について、図面を参照しながら説明する。
 (実施の形態1)
 まず、本実施の形態のプロセッサ性能解析装置を備えるシステムLSIの構成について説明する。
 図1は、本実施の形態のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。システムLSI10は、マルチスレッドプロセッサ11と、機能コア12と、メモリインタフェース13とを備える。
 マルチスレッドプロセッサ11は、複数の論理プロセッサ(Logical Processor:LP)を有し、当該論理プロセッサにより複数のプログラムを同時並行で実行することができる。また、プログラムの実行時に必要に応じて、命令若しくはデータをメモリ20に書き込む又はメモリ20から読み出すために、メモリ20へのメモリアクセス要求を発行する。マルチスレッドプロセッサ11は、1次キャッシュ、2次キャッシュ及びTLBなど(図示せず)を備える。マルチスレッドプロセッサ11は、例えば、プリフェッチ又はキャッシュミスが生じた場合に、メモリ20へのメモリアクセス要求を発行する。なお、メモリアクセス要求は、論理プロセッサごとに発行される。
 機能コア12は、マルチスレッドプロセッサ11とは異なる処理を実行し、メモリ20へのメモリアクセス要求を発行する複数の機能コアである。機能コア12は、例えば、DMAコントローラ、外部機器へのインタフェース回路、音楽及び映像のコンテンツデータを圧縮或いは展開するAV(Audio Visual)コーデック回路、並びに、データの暗号化及び復号化を実行する暗復号回路などである。なお、外部機器へのインタフェース回路は、例えば、PCIインタフェース、USB(Universal Serial Bus)インタフェースなどである。機能コア12の1つであるDMAコントローラが、各機能コア12とメモリ20とのアクセスなどを制御する。なお、機能コア12は、必ずしも複数でなくてもよい。
 メモリインタフェース13は、マルチスレッドプロセッサ11及び機能コア12で発行されるメモリ20へのメモリアクセス要求を受け付ける。そして、受け付けたメモリアクセス要求を調停することで、メモリ20へのアクセスを制御する。
 次に、本実施の形態のプロセッサ性能解析装置の構成について説明する。
 本実施の形態のプロセッサ性能解析装置は、システムLSI10が備えるマルチスレッドプロセッサ11の動作状態と、マルチスレッドプロセッサ11及び機能コア12からのメモリアクセスの状態とを解析する。
 図1は、本実施の形態のプロセッサ性能解析装置の構成をも示している。同図のプロセッサ性能解析装置100は、動作情報出力部101と、アクセス属性情報出力部102と、アクセス情報出力部103と、解析情報出力部104とを備える。同図に示すように、動作情報出力部101とアクセス属性情報出力部102とは、マルチスレッドプロセッサ11内に備えられる。また、アクセス情報出力部103は、メモリインタフェース13内に備えられる。
 動作情報出力部101は、マルチスレッドプロセッサ11を監視することで、マルチスレッドプロセッサ11内部の動作状態を示す動作情報を動的に出力する。動作情報は、例えば、論理プロセッサのそれぞれが動作しているのかデータアクセス待ちの状態にあるのか、稼働中の論理プロセッサの数が演算ユニットの数を越えて待ち状態が発生しているか、論理プロセッサがプリフェッチアクセスを実行中か、プリフェッチ動作がヒットしているかミスしているか、命令キャッシュ及びデータキャッシュはヒットしているかミスしているか、TLBはヒットしているかミスしているか、2次キャッシュはヒットしているかミスしているかなどの情報である。
 アクセス属性情報出力部102は、マルチスレッドプロセッサ11を監視することで、マルチスレッドプロセッサ11が発行するメモリ20へのメモリアクセス要求に関するメモリアクセス属性情報を出力する。メモリアクセス属性情報は、例えば、論理プロセッサのいずれがメモリアクセス要求を発行しているかを示すID情報である。また、メモリアクセス要求を発行する要因が命令又はデータのプリフェッチによるものか、命令又はデータキャッシュミスによるものか、TLBミスによるものか、2次キャッシュミスによるものか、非キャッシャブル領域へのアクセスによるものかなどを示すアクセス要因情報などの情報である。
 アクセス情報出力部103は、メモリインタフェース13を監視することで、メモリインタフェース13が受け付けるメモリアクセス要求によって生じるメモリアクセスの状態に関するメモリアクセス情報を出力する。メモリアクセス情報は、例えば、受け付け中のメモリアクセス要求を発行しているのがマルチスレッドプロセッサ11なのか機能コア12なのかを示す情報である。
 このとき、アクセス情報出力部103は、受け付け中のメモリアクセス要求を発行しているのが、マルチスレッドプロセッサ11である場合は、アクセス属性情報出力部102から出力されるメモリアクセス属性情報と、メモリインタフェース13内の動作状態とを関連付けて、メモリアクセス情報として出力する。例えば、受け付け中のメモリアクセス要求は、いずれのID情報を持つ論理プロセッサが発行したものであるか、プリフェッチによるものか、キャッシュミスによるものか、TLBミスによるものかなどを示す情報がメモリアクセス情報として出力される。また、メモリアクセス情報の他の例としては、アクセス要求を受け付けてからデータ転送が開始及び/又は終了するまでの時間、並びに、複数のアクセス要求が重なっている場合の受け付け中のアクセス要求数及び処理待ちキューの順序などが挙げられる。
 解析情報出力部104は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて、システム性能に関する解析情報を出力する。解析情報は、例えば、マルチスレッドプロセッサ11の全ての論理プロセッサが動作しておらず待ち状態にある期間、論理プロセッサ毎のキャッシュヒット率、メモリアクセス回数及びメモリアクセス待ち時間の情報、並びに、マルチスレッドプロセッサ11からのメモリアクセスにおいて機能コア12のメモリアクセスによるメモリアクセス完了待ち時間の増加分に関する情報などである。
 続いて、本実施の形態のプロセッサ性能解析装置100の動作について説明する。
 図2は、本実施の形態のプロセッサ性能解析装置100の動作を示すフローチャートである。
 動作情報出力部101は、マルチスレッドプロセッサ11が有する複数の論理プロセッサを監視することで、論理プロセッサそれぞれの処理状況を示す動作情報を出力する(S101)。具体的には、論理プロセッサごとに、動作しているのかデータアクセス待ち状態にあるのかと、キャッシュはヒットしているかミスしているかとなどを示す情報を、動作情報として出力する。
 アクセス属性情報出力部102は、複数の論理プロセッサを監視することで、マルチスレッドプロセッサ11が発行するメモリ20へのメモリアクセス要求に関するメモリアクセス属性情報を出力する(S102)。具体的には、メモリアクセス要求を発行した論理プロセッサを特定するID情報と、メモリアクセス要求を発行する要因を示すアクセス要因情報となどの情報を、メモリアクセス属性情報として出力する。
 次に、アクセス情報出力部103は、メモリインタフェース13を監視することで、メモリインタフェース13が受け付け中のメモリアクセス要求が、マルチスレッドプロセッサ11で発行されたものか、機能コア12で発行されたものかを判定する(S103)。
 メモリアクセス要求がマルチスレッドプロセッサ11で発行されたものである場合(S103で“プロセッサ”)、アクセス情報出力部103は、アクセス属性情報出力部102から出力されるメモリアクセス属性情報とメモリインタフェース13の動作状態とを関連付けて、メモリアクセス情報を出力する(S104)。具体的には、受け付け中のメモリアクセス要求を発行した論理プロセッサを特定する情報と、当該メモリアクセス要求はプリフェッチによるものかキャッシュミスによるものかなどを示す情報となどを、メモリアクセス情報として出力する。
 受け付け中のメモリアクセス要求が機能コア12で発行されたものである場合(S103で“機能コア”)、アクセス情報出力部103は、受け付け中のメモリアクセス要求が機能コア12で発行されたものであることを示す情報などを、メモリアクセス情報として出力する(S105)。
 最後に、解析情報出力部104は、動作情報(S101で出力)と、メモリアクセス属性情報(S102で出力)と、メモリアクセス情報(S104又はS105で出力)とを用いて、システムLSI10の動作状況を解析することで解析情報を出力する(S106)。
 なお、動作情報の出力(S101)とメモリアクセス属性情報の出力(S102)とは、いずれが先に行われてもよく、又は、並列化されてもよい。
 以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの動作情報と、プロセッサ及び機能コアからのメモリアクセス情報とを関連付けることで、システム全体の動作状況を得ることができる。以上の構成により、適切なシステムボトルネック解析及びシステム性能改善検討を行うことが可能となる。
 (実施の形態2)
 本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。
 図3は、本実施の形態のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。図3に示されるプロセッサ性能解析装置200は、図1のプロセッサ性能解析装置100と比較して、新たにトリガ出力部201が追加された点と、解析情報出力部104の代わりに解析情報出力部204が追加された点とが異なっている。以下では、図1と同じ構成要素については説明を省略し、異なる点を中心に説明する。
 トリガ出力部201は、解析情報出力部104からシステムの状態が特定の条件を満たすことを示す信号を受け取った場合に、トリガ信号としてシステムLSI10の外部に出力する。例えば、システムLSI10の外部に接続するマルチスレッドプロセッサ11用のデバッガへトリガ信号を出力する。また、解析情報出力部104で検出するシステムの状態の例としては、マルチスレッドプロセッサ11の全ての論理プロセッサがデータ待ち状態となり、全てのプログラム実行が止まっている状態、及び、特定の論理プロセッサのメモリアクセス待ち時間が所定の値を越えた状態など、システムボトルネックが発生している状態が挙げられる。
 解析情報出力部204は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて解析情報を生成し、生成した解析情報をシステムLSI10外部だけでなく、トリガ出力部201にも出力する。なお、解析情報の具体例については、実施の形態1と同様である。
 続いて、本実施の形態のプロセッサ性能解析装置200の動作について説明する。
 図4は、本実施の形態のプロセッサ性能解析装置200の動作を示すフローチャートである。同図に示す処理は、図2に示す処理に比べて、さらに、トリガ信号を出力する処理(S207及びS208)が追加された点が異なっている。図4において、図2と同じ参照符号を付した処理は、実施の形態1と同じ処理であり、以下では説明を省略する。
 実施の形態1で示したように、解析情報出力部104は、動作情報(S101で出力)と、メモリアクセス属性情報(S102で出力)と、メモリアクセス情報(S104又はS105で出力)とを用いて、システムLSI10の動作状況を解析することで解析情報を出力する(S106)。
 トリガ出力部201は、解析情報出力部104から出力される解析情報が示すシステムの状態が、上記の特定の条件を満たすか否かを判定する(S207)。システムの状態が特定の条件を満たす場合(S207でYes)、トリガ出力部201は、システムの状態が特定の条件を満たしたことを示すトリガ信号をシステムLSI10の外部に出力する(S208)。
 システムの状態が特定の条件を満たさない場合(S207でNo)、トリガ信号は出力されず、解析情報だけが外部に出力される。
 以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。これにより、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことが容易となり、システムボトルネック解析における利便性がさらに向上する。
 (実施の形態3)
 本実施の形態のプロセッサ性能解析装置は、プロセッサと機能コアとがIOバスによって接続されている場合に、プロセッサから機能コアに対して発行されるアクセス要求に関する情報を基にして解析することができる。
 図5は、本実施の形態のプロセッサ性能解析装置を備えるシステムLSIのブロック図である。図5に示されるプロセッサ性能解析装置300は、図1のプロセッサ性能解析装置100と比較して、新たにIOバスアクセス属性情報出力部301が追加された点と、解析情報出力部104の代わりに解析情報出力部304が追加された点とが異なっている。以下では、図1と同じ構成要素については説明を省略し、異なる点を中心に説明する。
 IOバスアクセス属性情報出力部301は、マルチスレッドプロセッサ11を監視することで、マルチスレッドプロセッサ11と機能コア12とを接続するIOバスを介して転送されるアクセス要求に関するIOバスアクセス属性情報を出力する。例えば、IOバスアクセス属性情報は、マルチスレッドプロセッサ11から機能コア12へのレジスタアクセスなどに使用するIOバスを介した機能コア12へのアクセスに関する属性情報である。また、論理プロセッサのいずれがIOバスアクセス要求を発行しているかを示すID情報などである。
 解析情報出力部304は、動作情報、メモリアクセス属性情報と、メモリアクセス情報と、IOバスアクセス属性情報とを関連付けて解析情報を生成し、生成した解析情報をシステムLSI10外部に出力する。
 続いて、本実施の形態のプロセッサ性能解析装置300の動作について説明する。
 図6は、本実施の形態のプロセッサ性能解析装置300の動作を示すフローチャートである。同図に示す処理は、図2に示す処理に比べて、さらに、IOバスアクセス属性情報を出力する処理(S303)が追加された点が異なっている。図6において、図2と同じ参照符号を付した処理は、実施の形態1と同じ処理であり、以下では説明を省略する。
 動作情報の出力(S101)と、メモリアクセス属性情報の出力(S102)とに続いて、IOバスアクセス属性情報出力部301は、マルチスレッドプロセッサ11を監視することで、IOバスアクセス属性情報を出力する(S302)。なお、IOバスを介してアクセス要求が転送されていない場合は、IOバスアクセス属性情報出力部301は、IOバスを介してアクセス要求が転送されていないことを示す情報をIOバスアクセス属性情報として出力してもよく、又は、IOバスアクセス属性情報を出力しなくてもよい。
 以降、実施の形態1と同様に、アクセス情報出力部103は、メモリアクセス属性情報を出力する(S104又はS105)。そして、解析情報出力部304は、動作情報(S101で出力)と、メモリアクセス属性情報(S102で出力)と、IOバスアクセス属性情報(S303で出力)と、メモリアクセス情報(S104又はS105で出力)とを用いて、システムLSI10の動作状況を解析することで解析情報を出力する(S106)。
 なお、動作情報の出力(S101)とメモリアクセス属性情報の出力(S102)とIOバスアクセス属性情報の出力(S303)は、いずれが先に行われてもよく、又は、並列化されてもよい。
 以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサからメモリへのアクセスのみならず、プロセッサから機能コアへのIOバスアクセスによる性能ペナルティについても解析することが可能となり、システムボトルネック解析における精度がさらに向上する。
 以上、本発明のプロセッサ性能解析装置及びプロセッサ性能解析方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
 例えば、本実施の形態のシステムLSI10のプロセッサとして、マルチスレッドプロセッサ11を設けたが、複数のプロセッサによるマルチプロセッサ構成としてもよい。例えば、図7に示すように、システムLSI10は、複数のマルチスレッドプロセッサ11を備える。複数のマルチスレッドプロセッサ11は、それぞれに対応する動作情報出力部101及びアクセス属性情報出力部102を備える。
 これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。
 また、本実施の形態のシステムLSI10の動作を模すことで、システムLSI10が備えるプロセッサの性能の解析処理をシミュレートしてもよい。例えば、マルチスレッドプロセッサ11と、機能コア12と、メモリインタフェース13となどをコンピュータ上でソフトウェアとして実現し、図2、図4、図6などに示したプロセッサ性能解析方法をコンピュータに実行させる。コンピュータ上に実現されたマルチスレッドプロセッサ11及び機能コア12などに擬似的に所定のプログラムなどを実行させることで、システムの性能を解析する。
 これにより、実際にハードウェアでシステムを構成する前に、ユーザはシステムの性能を把握することができるので、より最適なシステムを構成することができる。
 本発明のプロセッサ性能解析装置は、システムLSIの性能ボトルネックの解析及びハードウェア・ソフトウェア改変による性能改善検討を行う際に有用である。例えば、マルチスレッドプロセッサの並列プログラミング処理のデバッグ等の用途に応用できる。

Claims (13)

  1.  複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第1アクセス要求を発行するプロセッサと、
     前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第2アクセス要求を発行する機能コアと、
     前記第1アクセス要求と前記第2アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
     システムLSIにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、
     前記プロセッサを監視することで、前記プロセッサの動作状態を示す第1情報を出力する第1情報出力手段と、
     前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第1及び第2アクセス要求によって生じるメモリアクセスの状態を示す第2情報を出力する第2情報出力手段と、
     前記第1情報と前記第2情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
     ことを特徴とするプロセッサ性能解析装置。
  2.  前記プロセッサ性能解析装置は、さらに、
     前記プロセッサを監視することで、前記プロセッサが前記第1アクセス要求を発行する要因を示す第3情報を出力する第3情報出力手段を備え、
     前記解析手段は、さらに、前記第3情報を用いて前記プロセッサの性能を解析する
     ことを特徴とする請求項1記載のプロセッサ性能解析装置。
  3.  前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第1アクセス要求を発行し、
     前記第3情報出力手段は、前記第1アクセス要求を発行した論理プロセッサを特定する属性情報を前記第3情報として出力する
     ことを特徴とする請求項2記載のプロセッサ性能解析装置。
  4.  前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第1アクセス要求を発行し、
     前記第3情報出力手段は、前記プロセッサが前記第1アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第3情報として出力する
     ことを特徴とする請求項2又は3記載のプロセッサ性能解析装置。
  5.  前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びTLB(Translation Lookaside Buffer)ミスである
     ことを特徴とする請求項4記載のプロセッサ性能解析装置。
  6.  前記第2情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第1アクセス要求及び前記第2アクセス要求のいずれであるかを示す情報を前記第2情報として出力する
     ことを特徴とする請求項1~5のいずれか1項に記載のプロセッサ性能解析装置。
  7.  前記第2情報出力手段は、前記第1アクセス要求若しくは前記第2アクセス要求の待ち順序に関する情報、又は、前記第1アクセス要求若しくは前記第2アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第2情報として出力する
     ことを特徴とする請求項1~6のいずれか1項に記載のプロセッサ性能解析装置。
  8.  前記第1情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第1情報として出力する
     ことを特徴とする請求項1~7のいずれか1項に記載のプロセッサ性能解析装置。
  9.  前記システムLSIは、前記プロセッサを複数備え、
     前記プロセッサ性能解析装置は、
     前記複数のプロセッサのそれぞれに対応する前記第1情報出力手段を備える
     ことを特徴とする請求項1~8のいずれか1項に記載のプロセッサ性能解析装置。
  10.  前記プロセッサ性能解析装置は、さらに、
     前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備える
     ことを特徴とする請求項1~9のいずれか1項に記載のプロセッサ性能解析装置。
  11.  前記プロセッサ性能解析装置は、さらに、
     前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第3アクセス要求に関する第4情報を出力するバスアクセス属性情報出力手段を備え、
     前記解析手段は、さらに、前記第4情報を用いて前記プロセッサの性能を解析する
     ことを特徴とする請求項1~10のいずれか1項に記載のプロセッサ性能解析装置。
  12.  複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第1アクセス要求を発行するプロセッサと、
     前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第2アクセス要求を発行する機能コアと、
     前記第1アクセス要求と前記第2アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
     システムLSIにおける前記プロセッサの性能を解析するプロセッサ性能解析方法であって、
     前記プロセッサを監視することで、前記プロセッサの動作状態を示す第1情報を出力する第1情報出力ステップと、
     前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第1及び第2アクセス要求によって生じるメモリアクセスの状態を示す第2情報を出力する第2情報出力ステップと、
     前記第1情報と前記第2情報とを用いて前記プロセッサの性能を解析する解析ステップとを含む
     ことを特徴とするプロセッサ性能解析方法。
  13.  複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第1アクセス要求を発行するプロセッサと、
     前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第2アクセス要求を発行する機能コアと、
     前記第1アクセス要求と前記第2アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
     システムLSIの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、
     前記プロセッサを監視することで、前記プロセッサの動作状態を示す第1情報を出力する第1情報出力手段と、
     前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第1及び第2アクセス要求によって生じるメモリアクセスの状態を示す第2情報を出力する第2情報出力手段と、
     前記第1情報と前記第2情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
     ことを特徴とするプロセッサ性能解析シミュレータ。
PCT/JP2009/000246 2008-01-29 2009-01-23 プロセッサ性能解析装置、方法及びシミュレータ WO2009096161A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/864,935 US20100332690A1 (en) 2008-01-29 2009-01-23 Processor performance analysis device, method, and simulator
JP2009551426A JPWO2009096161A1 (ja) 2008-01-29 2009-01-23 プロセッサ性能解析装置、方法及びシミュレータ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008017714 2008-01-29
JP2008-017714 2008-01-29

Publications (1)

Publication Number Publication Date
WO2009096161A1 true WO2009096161A1 (ja) 2009-08-06

Family

ID=40912518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/000246 WO2009096161A1 (ja) 2008-01-29 2009-01-23 プロセッサ性能解析装置、方法及びシミュレータ

Country Status (3)

Country Link
US (1) US20100332690A1 (ja)
JP (1) JPWO2009096161A1 (ja)
WO (1) WO2009096161A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015020092A1 (ja) * 2013-08-07 2015-02-12 株式会社 東芝 情報処理方法、情報処理装置及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102285749B1 (ko) 2014-11-10 2021-08-05 삼성전자주식회사 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263310A (ja) * 1994-12-16 1996-10-11 Internatl Business Mach Corp <Ibm> 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
JP2001142869A (ja) * 1999-11-17 2001-05-25 Matsushita Electric Ind Co Ltd システム集積回路
JP2001256079A (ja) * 2000-03-10 2001-09-21 Matsushita Electric Ind Co Ltd ソフトウェアのデバッグ方法および論理回路のデバッグ方法
JP2002024201A (ja) * 2000-07-10 2002-01-25 Toshiba Corp 半導体集積回路
WO2004055672A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 性能シミュレーション装置、性能シミュレーションプログラムおよび性能シミュレーション方法
JP2006040090A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央処理方法。
JP2006113716A (ja) * 2004-10-13 2006-04-27 Matsushita Electric Ind Co Ltd 半導体集積回路
WO2006049090A1 (ja) * 2004-11-04 2006-05-11 Matsushita Electric Industrial Co., Ltd. 集積回路、及び集積回路パッケージ
JP2006172234A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd システム性能評価方法およびシステム性能評価装置
JP2006293694A (ja) * 2005-04-11 2006-10-26 Sony Computer Entertainment Inc 情報処理装置、コンピュータの制御方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426741A (en) * 1991-02-20 1995-06-20 Digital Equipment Corporation Bus event monitor
US20050182611A1 (en) * 2002-12-18 2005-08-18 Fujitsu Limited Apparatus and method for simulating performance, and computer product
US7478198B2 (en) * 2004-05-24 2009-01-13 Intel Corporation Multithreaded clustered microarchitecture with dynamic back-end assignment
JP4839164B2 (ja) * 2006-09-15 2011-12-21 株式会社日立製作所 ハードウェアモニタを用いた性能評価システム及び再構築可能な計算機システム
JP2008123045A (ja) * 2006-11-08 2008-05-29 Matsushita Electric Ind Co Ltd プロセッサ
US7886162B2 (en) * 2007-05-29 2011-02-08 International Business Machines Corporation Cryptographic secure program overlays

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263310A (ja) * 1994-12-16 1996-10-11 Internatl Business Mach Corp <Ibm> 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
JP2001142869A (ja) * 1999-11-17 2001-05-25 Matsushita Electric Ind Co Ltd システム集積回路
JP2001256079A (ja) * 2000-03-10 2001-09-21 Matsushita Electric Ind Co Ltd ソフトウェアのデバッグ方法および論理回路のデバッグ方法
JP2002024201A (ja) * 2000-07-10 2002-01-25 Toshiba Corp 半導体集積回路
WO2004055672A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 性能シミュレーション装置、性能シミュレーションプログラムおよび性能シミュレーション方法
JP2006040090A (ja) * 2004-07-29 2006-02-09 Fujitsu Ltd キャッシュメモリ制御装置、キャッシュメモリ制御方法、中央処理装置、情報処理装置、中央処理方法。
JP2006113716A (ja) * 2004-10-13 2006-04-27 Matsushita Electric Ind Co Ltd 半導体集積回路
WO2006049090A1 (ja) * 2004-11-04 2006-05-11 Matsushita Electric Industrial Co., Ltd. 集積回路、及び集積回路パッケージ
JP2006172234A (ja) * 2004-12-17 2006-06-29 Matsushita Electric Ind Co Ltd システム性能評価方法およびシステム性能評価装置
JP2006293694A (ja) * 2005-04-11 2006-10-26 Sony Computer Entertainment Inc 情報処理装置、コンピュータの制御方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HIROYUKI MORISHITA ET AL.: "HDTV Taio Media Processor MCP2 ni Okeru Stream Shoribu no Kaihatsu", INFORMATION PROCESSING SOCIETY OF JAPAN KENKYU HOKOKU, vol. 2001, no. 22, 8 March 2001 (2001-03-08), pages 32 *
TOSHIKAZU MUNEZANE ET AL.: "Digital STB/TV-yo Tanmatsu Architecture", MATSUSHITA TECHNICAL JOURNAL, vol. 44, no. 1, 18 February 1998 (1998-02-18), pages 77 - 78 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015020092A1 (ja) * 2013-08-07 2015-02-12 株式会社 東芝 情報処理方法、情報処理装置及びプログラム
JP2015035028A (ja) * 2013-08-07 2015-02-19 株式会社東芝 情報処理方法、情報処理装置及びプログラム
US10025504B2 (en) 2013-08-07 2018-07-17 Kabushiki Kaisha Toshiba Information processing method, information processing apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
JPWO2009096161A1 (ja) 2011-05-26
US20100332690A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
US11748240B2 (en) Scheduling of scenario models for execution within different computer threads and scheduling of memory regions for use with the scenario models
US7689867B2 (en) Multiprocessor breakpoint
US9892024B2 (en) Backward compatibility testing of software in a mode that disrupts timing
US8527812B2 (en) Information processing device
US20060242389A1 (en) Job level control of simultaneous multi-threading functionality in a processor
US20040030870A1 (en) Software breakpoints with tailoring for multiple processor shared memory or multiple thread systems
US8255673B2 (en) Monitoring transactions in a data processing apparatus
KR20090117700A (ko) 프로세서 성능 모니터링
WO2009096161A1 (ja) プロセッサ性能解析装置、方法及びシミュレータ
US10481913B2 (en) Token-based data dependency protection for memory access
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
US11907724B2 (en) In-memory trace with overlapping processing and logout
EP1235139B1 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JP2002163126A (ja) デバッグ用cpuに内蔵のイベント検出回路、イベント検出方法および外部周辺回路
US20050268074A1 (en) Method and apparatus for determining the criticality of a micro-operation
JP5387231B2 (ja) マイクロプロセッサ及びマイクロプロセッサのデバッグ方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09707046

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009551426

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12864935

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09707046

Country of ref document: EP

Kind code of ref document: A1