WO2006109728A1 - システム性能プロファイリング装置 - Google Patents
システム性能プロファイリング装置 Download PDFInfo
- Publication number
- WO2006109728A1 WO2006109728A1 PCT/JP2006/307463 JP2006307463W WO2006109728A1 WO 2006109728 A1 WO2006109728 A1 WO 2006109728A1 JP 2006307463 W JP2006307463 W JP 2006307463W WO 2006109728 A1 WO2006109728 A1 WO 2006109728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- unit
- counter
- command
- system performance
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Definitions
- the present invention relates to a system performance evaluation technique for a large-scale 'multifunctional semiconductor integrated circuit (SOC: System on Chip).
- SOC System on Chip
- SoCs for home appliances represented by digital AV devices are newly created system control architectures and bus architectures that only need to reduce costs by reducing the number of chips by mounting multiple functions on a single chip. There is a merit that the performance of the entire system can be improved by installing.
- the SoC has a demerit that it is difficult to evaluate the system performance of the SoC because the on-chip bus is concealed in the SoC during verification using the actual product.
- Patent Document 1 Japanese Patent Laid-Open No. 2002-149442
- Patent Document 2 Japanese Patent No. 3158425
- an object of the present invention is to provide a system performance profiling device that is mounted inside an SoC and can eliminate the restriction on the collection time of the number of event occurrences without increasing counter resources.
- the system performance profiling apparatus of the present invention monitors a signal on a node in a system on chip, and provides profiling data for system performance evaluation of the system on chip.
- a system performance profiling device that collects and outputs to the outside, a command detection unit that monitors the signals on the bus to detect the occurrence of a command, and monitors the signals on the bus to transfer data
- a data detection unit that detects the occurrence of the command
- a first counter unit that counts the number of occurrences of the command based on the detection result of the command detection unit, and a data transfer count based on the detection result of the data detection unit
- the value of the first bit digit of the first counter unit is output to the outside and the profile
- the first selector unit that outputs the value of the bit digit lower than the first bit digit of the first counter unit to the outside, and during the collection of profiling data for system performance evaluation Output the value of the
- the first selector unit is During data collection, the value of the first bit digit of the first counter unit is output to the outside, and after the collection is completed, the value of the bit digit lower than the first bit digit of the first counter unit is output to the outside.
- the second selector unit outputs the value of the second bit digit of the second counter unit during the collection of profiling data to the outside, and the bit digit lower than the second bit digit of the second counter unit after the collection is completed. The value of is output to the outside.
- a counter that performs a counting operation based on the value of the first bit digit output by the first selector unit and the second bit digit output by the second selector unit outside the SoC equipped with the system performance profiling device If a counter that performs a counting operation based on the value of is provided, the command that can be counted is generated by linking the first counter unit and the second counter unit with each counter provided outside. The number of times and the number of data transfers increase. Therefore, there is no restriction on the collection time of profiling data caused by the first counter unit and the second counter unit without increasing the counter resources of the first counter unit and the second counter unit mounted in the SoC. Further, since the first selector unit and the second selector unit are configured to switch the output to the outside, the system performance profiling apparatus can be realized with a small number of pins.
- the system performance profiling apparatus may further include a bit digit setting unit that sets a first bit digit of the first counter unit.
- the system performance profiling apparatus may further include a bit digit setting unit that sets a second bit digit of the second counter unit.
- the counting operation of the second counter unit is suppressed until data transfer for all commands generated before starting collection of profiling data for system performance evaluation is completed.
- a count suppression unit may be further provided. According to this, the transfer of data for all commands generated before the start of collecting profiling data is completed, and the second counter unit counts the number of data transfers. Therefore, the collection start timing can be set arbitrarily, and the performance of access overhead can be evaluated from the viewpoint of average burst length.
- the second selector unit determines the number of commands for which data transfer has not been completed at the end of collecting system performance evaluation profiling data, as profiling data After the collection of data, it may be output to the outside before or after outputting the value of the bit digit lower than the second bit digit. Further, in the system performance profiling apparatus, the first selector unit determines the number of commands whose data transfer has not been completed at the end of collecting profiling data for system performance evaluation. You may make it output outside before outputting after outputting the value of a bit digit lower than the said 1st bit digit after completion
- the second selector unit or the first selector unit outputs the number of commands for which data transfer is not completed at the end of the collection after the collection of the profiling data. Therefore, the collection end timing can be set arbitrarily, and the performance of access overhead can be evaluated from the viewpoint of average burst length.
- the data detection unit and the second counter unit until data transfer for all commands generated after the start of collecting profiling data for system performance evaluation is completed.
- the second selector unit outputs the value of the second bit digit to the outside until the data transfer for all the commands is completed, and after the data transfer for all the commands is completed. You may output the value of the bit digit lower than the second bit digit to the outside.
- the profiling data collection period is extended as far as the data transfer detection and the data transfer count are concerned until the data transfer for all commands is completed. Therefore, the collection end timing can be set arbitrarily, and the performance of access overhead can be evaluated from the viewpoint of average burst length.
- the system performance profiling device further includes a condition setting unit for setting a bus transaction condition for collecting the profiling data, and the first counter.
- the counter unit counts the number of occurrences of a command that satisfies the conditions set by the condition setting unit, and the second counter unit counts the number of data transfers that satisfy the conditions set by the condition setting unit.
- FIG. 1 is a diagram showing signals related to the first and second embodiments on an on-chip bus.
- FIG. 1 A diagram showing the conditions for token establishment.
- FIG. 3 is a configuration diagram of a system performance profiling device according to the first embodiment.
- FIG. 5 is a diagram showing each filter in FIG. 3 as a logic circuit.
- FIG. 6 is a configuration diagram of a system performance profiling device according to a second embodiment.
- FIG. 7 is a diagram for explaining the outline of the third embodiment.
- FIG. 8 is a diagram showing signals related to the third and fourth embodiments on an on-chip bus.
- FIG. 9 is a configuration diagram of a system performance profiling device according to a third embodiment.
- FIG. 10 is a diagram for explaining the outline of the fourth embodiment.
- FIG. 11 is a configuration diagram of a system performance profiling device according to a fourth embodiment.
- the system performance profiling device is integrated in the SoC, and a command for a transaction under a predetermined condition among bus transactions generated on an on-chip bus in the SoC.
- the number of occurrences and the number of data transfers are collected, and the number information is output to the outside as profiling data for system performance evaluation.
- for write transactions and read transactions
- FIG. 1 shows signals related to the present embodiment and the second embodiment on the on-chip bus
- FIG. 2 is a diagram showing conditions for establishing a command token, a write data token, and a read data token.
- (m ⁇ > s) indicates a signal from the master to the slave
- (s ⁇ > m) indicates a signal from the slave to the master.
- Figure 1 is an example of 16-byte wrap read access from address 0x38 (4Burst read with a 4-byte bus) and lOByte write access from address 0x03 (4Burs write with a 4-byte bus). It is.
- Command token To detect the establishment of a command token, two signals are used: a command request signal mcomreq and a command acceptance permission signal scomacceptable.
- An event signal (hereinafter referred to as a command event signal) is generated when the establishment of a command token is detected at the rising edge of the master clock signal mclk when both signals are high.
- the read / write signal mrxw is used to distinguish whether the generated command event signal relates to a read command or a write command.
- the command event signal generated when the read write signal mrxw is high is related to the read command.
- the command event signal generated when the read / write signal mrxw is at low level relates to the write command.
- a write valid signal mwvalid and a write data acceptance permission signal swdtacceptable are used to detect the establishment of a write data token.
- an event signal hereinafter referred to as a write data event signal
- a write data event signal is generated when the establishment of a write data token is detected at the rising edge of the master clock signal mclk.
- a read valid signal srvalid and a read data acceptance permission signal mrdtacceptable are used to detect the establishment of a read data token.
- an event signal hereinafter referred to as a read data event signal
- a read data event signal is generated when the establishment of a read data token is detected at the rising edge of the master clock signal mclk.
- FIG. 3 is a configuration diagram of the system performance profiling apparatus of the present embodiment.
- the system performance profiling device 1 includes a host IF (interface) 11, a filter setting unit 12, a command token detection unit 13, a write data token detection unit 14, a read data token detection unit 15, a command filter 16, and write data.
- a filter 17, a read data filter 18, a counter unit 19, and a selector unit 20 are provided.
- the host IF11 is an interface for connecting the own device with an external device.
- the filter setting unit 12 commands the filter parameter specified via the host IF11. Set for each of the filter 16, the write data filter 17, and the read data filter 18. There are three types of filter parameters: counting only write transaction events, counting only read transaction events, and counting both write transaction and read transaction events.
- the filter setting unit 12 uses the filter setting mask signal and the RZW filter setting signal when setting the filter parameters.
- Figure 4 shows the relationship between each filter parameter, filter setting mask signal, and RZW filter setting signal.
- the command token detection unit 13 determines that a command token has been established at the rising edge of the master clock mclk when both the command request signal mcomreq and the command acceptance permission signal scomacceptable are at a high level. Generate a signal and output the generated command event signal to the command filter 16.
- the write data token detection unit 14 detects that the write data token has been established at the rising edge of the master clock mclk when both the write valid signal mwvalid and the write data acceptance permission signal swdtacceptable are at the high level. A write data event signal of the signal is generated, and the generated write data event signal is output to the write data filter 17.
- the read data token detection unit 15 detects that the read data token is established at the rising edge of the master clock mclk when both the read valid signal srvalid and the read data acceptance permission signal mrdtacceptable are high. Generates a read data event signal for the pulse signal and outputs the generated read data event signal to the read data filter 18.
- the command filter 16 sends the command event signal of the command indicated by the filter parameter set by the filter setting unit 12 among the command event signals input from the command token detection unit 13 to the subsequent circuit block. Output.
- a specific filter configuration will be described later with reference to FIG.
- the write data filter 17 has a filter parameter set by the filter setting unit 12. In the case of counting only the write transaction event, and in the case of counting both the write transaction and the read transaction, the write data event signal input from the write data token detection unit 14 is output to the subsequent circuit block. A specific filter configuration will be described later with reference to FIG.
- the read data filter 18 detects a read data token when the filter parameter set by the filter setting unit 12 counts only the events of the read transaction and counts the events of both the write transaction and the read transaction.
- the read data event signal input from the unit 15 is output to the subsequent circuit block.
- the counter unit 19 includes a command counter 19a, a write data counter 19b, and a read data force counter 19c. Each counter receives a collection start signal of profiling data for system evaluation from the host IF 11. The count operation is stopped. When the profiling data collection end signal is input from the host IF11, the count operation is stopped.
- the command counter 19a increments the counter value by 1 at the rising edge of the command event signal input from the command filter 16.
- the command counter 19a has a value of a predetermined bit digit (hereinafter referred to as the first output bit digit) and values of all bit digits lower than the first output bit digit (hereinafter referred to as the first output counter value). Is output to the command selector 20a.
- the write data counter 19b increments the counter value by 1 at the rising edge of the write data event signal input from the write data filter 17.
- the write data counter 19b is a value of a predetermined bit digit (hereinafter referred to as a second output bit digit) and values of all bit digits lower than the second output bit digit (hereinafter referred to as a second output counter value). Is output to the data selector 20b.
- the read data counter 19c increments the counter value by 1 at the rising edge of the read data event signal input from the read data filter 18.
- the read data counter 19c is a value of a predetermined bit digit (hereinafter referred to as a third output bit digit) and values of all bit digits lower than the third output bit digit (hereinafter referred to as a third output counter). Is written to the data selector 20c. [0033]
- the first output bit digit, the second output bit digit, and the third output bit digit are, for example, the most significant bit digits.
- the counter unit 19 When the collection start signal is input from the host IF 11, the counter unit 19 inputs the first output bit digit value, the second output bit digit value, and the third output bit digit value to the selector unit 20. A selection command signal is output. Further, when the collection end signal is input from the host IF 11, the counter unit 19 outputs a second selection command signal indicating selection of the first output counter value, the second output counter value, and the third output counter value to the selector unit 20. Output.
- the selector unit 20 includes a command selector 20a, a write data selector 20b, and a read data selector 20c.
- the command selector 20 a selects and outputs the first output bit digit value input from the command counter 19 a to the outside. Further, when the second selection command signal is input from the counter unit 19, the command selector 20a selects the first output counter value input from the command counter 19a and outputs it to the outside.
- the write data selector 20 b selects and outputs the second output bit digit value input from the write data counter 19 b to the outside.
- the write data selector 20b selects the second output counter value input from the write data counter 19b and outputs it to the outside.
- the read data selector 20c selects and outputs the third output bit digit value input from the read data counter 19c to the outside. Further, when the second selection command signal is input from the counter unit 19, the read data selector 20c selects the third output counter value input from the read data counter 19c and outputs it to the outside.
- Command filter 16 includes AND circuit 111, OR circuit 112, inverter circuit 113, and EXO.
- the R circuit 114 and the connection relationship are as shown in FIG.
- the write data filter 17 is composed of an AND circuit 121, an OR circuit 122, and an inverter circuit 123, and their connection relation is as shown in FIG.
- the read data filter 18 includes an AND circuit 131 and an OR circuit 132.
- the filter setting mask signal is “1” as shown in FIG.
- the OR circuit 112 outputs “1”, and “1” is input to one input terminal of the AND circuit 111.
- the AND circuit 111 outputs the command event signal output from the command token detector 13 to the subsequent command counter 19a as it is.
- the command counter 19a counts both write transaction and read transaction events.
- the filter setting mask signal is “0” and the rZw filter setting signal is “0” (showing that it is a write command) as shown in FIG. If).
- the filter target signal mrxw is “0”
- the EXOR circuit 114 outputs “0”
- the inverter circuit 113 outputs “1”.
- the OR circuit 112 outputs “1”, and “1” is input to one input terminal of the AND circuit 11 1.
- the AND circuit 111 outputs the command event signal output from the command token detector 13 to the command counter 19a at the subsequent stage as it is.
- the filter target signal mrxw force is “l”
- the EXOR circuit 114 outputs “1”
- the inverter circuit 113 outputs “0”.
- the OR circuit 112 outputs “0”, and “0” is input to one input terminal of the AND circuit 111.
- the AND circuit 111 masks the command event signal output from the command token detector 13 and outputs the masked signal (“0”: low level) to the command counter 19a in the subsequent stage.
- command counter 16a counts only write transaction events. It will be.
- the filter setting mask signal is “0” and the rZw filter setting signal is “1” (showing that it is a read command) as shown in Figure 4. is there.
- the filter target signal mrxw force is “l”
- the EXOR circuit 114 outputs “0”
- the inverter circuit 113 outputs “1”.
- the OR circuit 112 outputs “1”, and “1” is input to one input terminal of the AND circuit 11 1.
- the AND circuit 111 outputs the command event signal output from the command token detector 13 to the command counter 19a at the subsequent stage as it is.
- the filter target signal mrxw When the filter target signal mrxw is “0”, the EXOR circuit 114 outputs “1”, and the inverter circuit 113 outputs “0”.
- the OR circuit 112 outputs “0”, and “0” is input to one input terminal of the AND circuit 111.
- the AND circuit 111 masks the command event signal output from the command token detector 13 and outputs the masked signal (“0”: low level) to the command counter 19a in the subsequent stage.
- the command counter 16a counts only the read transaction event.
- the filter setting mask signal is “1” as shown in FIG.
- the OR circuit 122 outputs “1”, and “1” is input to one input terminal of the AND circuit 121.
- the AND circuit 121 outputs the write data event signal output from the write data token detector 14 to the write data counter 19b at the subsequent stage as it is.
- the write data counter 19b counts write transaction events.
- the filter setting mask signal is "0" and the rZw filter setting signal is "0" as shown in FIG.
- the inverter circuit 123 outputs “1”
- the OR circuit 122 outputs “1”
- “1” is input to one input terminal of the NAND circuit 121.
- the AND circuit 121 is The write data event signal output by the data data token detector 14 is output to the write data counter 19b at the subsequent stage as it is.
- the write data counter 19b counts write transaction events.
- the filter setting mask signal is "0" and the rZw filter setting signal is “1" as shown in FIG.
- the inverter circuit 123 outputs “0”, the OR circuit 122 outputs “0”, and “0” is input to one input terminal of the NAND circuit 121.
- the AND circuit 121 masks the write data event signal output from the write data token detector 14 and outputs the masked signal (“0”: low level) to the write data counter 19b in the subsequent stage. To do.
- the write data counter 19b does not count the write transaction event.
- the filter setting mask signal is “1” as shown in FIG.
- the OR circuit 132 outputs “1”, and “1” is input to one input terminal of the AND circuit 131.
- the AND circuit 131 outputs the read data event signal output from the read data token detection unit 15 to the read data counter 19c at the subsequent stage as it is.
- the read data counter 19c counts a read transaction event.
- the filter setting mask signal is "0" and the rZw filter setting signal is “1" as shown in FIG.
- the OR circuit 132 outputs “1”, and “1” is input to one input terminal of the AND circuit 131.
- the AND circuit 131 outputs the read data event signal output from the read data token detection unit 15 to the read data counter 19c at the subsequent stage as it is.
- the read data counter 19c counts a read transaction event.
- the filter setting mask signal is "0" and the rZw filter setting signal is “0” as shown in FIG.
- the OR circuit 132 outputs “0”, and “0” is input to one input terminal of the AND circuit 131.
- the AND circuit 131 masks the read data event signal output from the read data token detector 15 and outputs the masked signal (“0”: low level) to the subsequent read data counter 19c. .
- the read data counter 19c does not count the read transaction event.
- the filter parameter information is input to the filter setting unit 12 via the host IF 11, and the filter setting unit 12 sets the filter parameter to the command filter 16, the write data filter 17, and the read data filter 18.
- the profiling data collection start signal is also input to the counter unit 19 via the host IF11 as the external device power, and each unit of the counter unit 19 starts a count operation. Output to selector section 20.
- the command selector 20a selects the value of the first output bit digit input from the command counter 19a and outputs it to the outside.
- the write data selector 20b selects the value of the second output bit digit input from the write data counter 19b and outputs it to the outside.
- the read data selector 20c selects the third output bit digit value input from the read data counter 19c and outputs it to the outside. This state continues.
- the command token detection unit 13, the write data token detection unit 14, and the read data token detection unit 15 detect a command token, a write data token, and a read data token, respectively.
- the command filter 16, the write data filter 17, and the read data filter 18 perform filtering processing based on the set filter parameters, respectively, and output the command event signal, the write data event signal, and the read data event signal to the subsequent circuit block. To do.
- the command counter 19a, the write data counter 19b, and the read data counter 19c perform counting operations based on the command event signal, the write data event signal, and the read data event signal, respectively.
- the command selector 20a, the write data selector 20b, and the read data selector 20c are respectively the value of the first output bit digit of the command counter 19a, the value of the second output bit digit of the write data counter 19b, and the value of the read data counter 19c. 3 Select the output bit digit value and output it to the outside.
- the external device force When the collection end signal is input to the counter unit 19 via the host IF11, the external device force also stops the count operation of each unit of the force counter unit 19, and the counter unit 19 outputs the second selection command signal described above. Output to selector section 20.
- the command selector 20a selects the first output counter value input from the command counter 19a and outputs it to the outside.
- the write data selector 20b selects the second output counter value input from the write data counter 19b and outputs it to the outside.
- the read data selector 20c selects the third output counter value input from the read data counter 19c and outputs it to the outside.
- bit digits of each counter to be output to the outside during the collection period of profiling data for system performance evaluation are stored in the system profiling device 1 of the first embodiment. It is the one to add the mechanism to change.
- FIG. 6 is a configuration diagram of the system performance profiling apparatus of the present embodiment. Note that in the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted because the description can be applied.
- the system performance profiling device la includes a host IF 11, a filter setting unit 12, a command token detection unit 13, a write data token detection unit 14, a read data token detection unit 15, a command filter 16, and a write data filter. 17, a read data filter 18, a counter unit 19, a selector unit 20, and a bit digit setting unit 21.
- the bit digit setting unit 21 sets the first output bit digit of the command counter 19a to the bit digit specified via the host IF11.
- the bit digit setting unit 21 includes a write data counter 19b. Set the second output bit digit of to the bit digit specified via host IF11.
- the bit digit setting unit 21 sets the third output bit digit of the read data counter 19c to the bit digit specified via the host IF11.
- the bit digit of each counter set by the bit digit setting unit 21 is not necessarily the same bit digit.
- the command counter 19a receives the value of the first output bit digit set by the bit digit setting unit 21 and the value of all the bit digits lower than the first output bit digit (first counter value) as a command selector 20a. Output to.
- the write data counter 19b sends the value of the second output bit digit set by the bit digit setting unit 21 and the values of all the bit digits lower than the second output bit digit (second counter value) to the write data selector 20b. Output.
- the read data counter 19c reads the value of the third output bit digit set by the bit digit setting unit 21 and the values of all the bit digits lower than the third output bit digit (third counter value). Output to Rector 20c.
- the system profiling device la of the second embodiment only the data token corresponding to the command generated during the collection period of the profiling data for system performance evaluation is stored in the system profiling device la of the second embodiment.
- a mechanism for counting with a counter and a mechanism for outputting the number of commands for which data transfer has not been completed after the end of the collection period to the outside are added.
- the SoC that integrates the system profiling device la is equipped with a pipeline protocol, which is the same in the fourth embodiment.
- FIG. 7 is a diagram for explaining the outline of the present embodiment.
- data DA, DB, and DC for commands generated before the collection of system performance evaluation profiling data is not counted by each data counter.
- Each data counter counts from data D1 for command C1 that occurs after collection starts. At the end of collection, the number of commands CA and CB for which data transfer has not been completed is output to the outside.
- FIG. 8 is a diagram showing signals on the on-chip nodes related to the present embodiment and the fourth embodiment.
- the read completion signal and the write completion signal on the on-chip bus Is used in addition to the signals on the on-chip bus used in the first and second embodiments, the read completion signal and the write completion signal on the on-chip bus Is used.
- FIG. 9 is a configuration diagram of the system performance profiling apparatus of the present embodiment. Note that in the third embodiment, the same components as those in the first and second embodiments are denoted by the same reference numerals, and the description thereof is applicable, and thus the description thereof is omitted.
- the system performance profiling device lb includes a host IF 11, a filter setting unit 12, a command token detection unit 13, a write data token detection unit 14, a read data token detection unit 15, a command filter 16, and a write data filter. 17, read data filter 18, command generation management unit 31, data generation management unit 32, preceding command generation processing unit 33, remaining command generation processing unit 34, write mask unit 35, read mask unit 36, counter unit 19, and selector Part 37 and bit digit setting part 21.
- the command generation management unit 31 reads at the rising edge of the master clock mclk when the command request signal mcomreq is high, the command acceptance permission signal scomacceptable cache level, and the read / write signal mrxw level. When a command is detected, a read command event signal is generated, and the number of read command event signals generated is counted by an internal read command counter.
- the command generation management unit 31 performs a write command at the rising edge of the master clock mclk when the command request signal mcomreq is high, the command acceptance permission signal scomacceptable cache level, and the read / write signal mrxw is low.
- a write command event signal is generated when a write command counter is installed, The number of occurrences of command command signals is counted.
- command generation management unit 31 is also operating as a profiling data pre-collection start force.
- the data generation management unit 32 counts the rising edge of the read completion signal with an internal read data counter, and counts the rising edge of the write completion signal with an internal write data counter. The data generation management unit 32 operates before starting the collection of profiling data.
- the preceding command generation processing unit 33 receives the read command for the read command of the command generation management unit 31 at the time when the collection start signal is input.
- the counter value of the counter hereinafter referred to as the preceding read command comparison value
- the counter value for the write command counter hereinafter referred to as the preceding write command comparison value
- the preceding command generation processing unit 33 continues until the counter value of the write data counter of the data generation management unit 32 first matches the internally held preceding write command comparison value (all write occurrences that occurred before the start of collection). Until the data transfer for the command is completed), the write mask unit 35 outputs a low level signal to the write mask unit 35 to mask the write data event signal. A high level signal is output to the write mask unit 35 so that no mask is applied to the signal.
- the preceding command generation processing unit 33 continues until the counter value of the read data counter in the data generation management unit 32 first matches the internally held preceding read command comparison value (all read commands generated before the start of collection). Until the data transfer is completed), the read mask unit 35 outputs a low level signal to the read mask unit 36 to mask the read data event signal. A high level signal is output to the read mask section 36 so that the mask is not applied.
- the residual command generation processing unit 34 performs the following processing when the filter parameter is a count of events of both the write transaction and the read transaction, and when the filter parameter is a count of events of the read transaction. Do.
- Residual command generation processor 34 collects profiling data via host IF11 When the end signal is input, the counter value of the read data counter of the data generation management unit 32 is subtracted from the counter value of the read command counter of the command generation management unit 31 at the time when the collection end signal is input. To do. Then, the remaining command generation processing unit 34 outputs the subtraction value (hereinafter referred to as the number of remaining read commands) to the read data selector 37c.
- the remaining command generation processing unit 34 performs the following when the filter parameter is a count of events of both the write transaction and the read transaction, and when the filter parameter is a count of events of the write transaction. Process.
- the remaining command generation processing unit 34 receives the counter of the write command counter of the command generation management unit 31 at the time when the collection end signal is input. The value is also subtracted from the counter value for the write data counter of the data generation management unit 32. Then, the remaining command generation processing unit 34 outputs a subtraction value (hereinafter referred to as the number of remaining write commands) to the write data selector 37b.
- a subtraction value hereinafter referred to as the number of remaining write commands
- the write mask unit 35 receives the low level signal from the preceding command generation processing unit 33, masks the write data event signal during the period, and outputs it to the subsequent circuit block. Further, the write mask unit 35 outputs the write data event signal as it is to the subsequent circuit block during a period in which a high level signal is input from the preceding command generation processing unit 33.
- the read mask unit 36 receives the low level signal from the preceding command generation processing unit 33, masks the read data event signal during the period, and outputs it to the subsequent circuit block. Further, the read mask unit 36 outputs the read data event signal as it is to the subsequent circuit block during the period when the high-level signal is input from the preceding command generation processing unit 33.
- the selector unit 37 includes a command selector 20a, a write data selector 37b, and a read data selector 37c.
- the write data selector 37b selects the value of the second output bit digit input from the write data counter 19b and then externally Output to.
- the write data selector 37b selects the second output counter value input from the write data counter 19b and outputs it to the outside. Select the number of remaining write commands input from the generation processing unit 34 and output to the outside.
- the read data selector 37c selects and outputs the third output bit digit value input from the read data counter 19c to the outside. Further, when the second selection command signal is input from the counter unit 19, the read data selector 37 c selects the third output counter value input from the read data counter 19 c and outputs it to the outside, followed by the remaining command. Select the number of residual read commands input from the generation processing unit 34 and output it to the outside.
- the counter unit 19 When the collection start signal is input, the counter unit 19 starts operation, and the counter unit 19 outputs a first selection command signal to the selector unit 37.
- the first selection command signal is input to the selector unit 37, the command selector 20a, the write data selector 37a, and the read data selector 37c respectively receive the value of the first output bit digit of the command counter 19a and the write data counter. Select the value of the second output bit digit of 19b and the value of the third output bit digit of the read data counter 19c and output them to the outside.
- the preceding command generation processing unit 33 outputs a low-level signal to the write mask unit 35 until data transfer for all the write commands generated before the start of collection is completed, and the write mask unit 35 serves as a write event signal. Put on a mask. After that, the preceding command generation processing unit 33 outputs a high level signal to the write mask unit 35 when the data transfer for all the write commands generated before the start of collection is completed, and the write mask unit 35 keeps the write event signal as it is. Output to the subsequent circuit block.
- the preceding command generation processing unit 33 applies all read commands generated before the start of collection. Until the data transfer is completed, a low level signal is output to the read mask unit 36, and the read mask unit 36 masks the write event signal. After that, the preceding command generation processing unit 33 outputs a high level signal to the read mask unit 36 when the data transfer for all read commands generated before the start of collection is completed, and the read mask unit 36 outputs a write event signal. The data is output to the subsequent circuit block as it is.
- the residual command generation processing unit 34 calculates the number of residual write commands and the number of residual read commands when the collection end signal is input. Further, the counter unit 19 stops the counting operation when the collection end signal is input, and the counter unit 19 outputs the second selection command signal to the selector unit 37.
- the command selector 20a selects the first output counter value of the command counter 19a and outputs it to the outside.
- the write data selector 37b selects the second output counter value of the write data counter 19b and outputs it to the outside, and then selects the number of remaining write commands and outputs it to the outside.
- the read data selector 37c selects and outputs the third output counter value of the read data counter 19c, and then selects and outputs the number of remaining read commands.
- the number of commands for which data transfer has not been completed is output to the outside, whereas in this embodiment, collection is performed. If there is a command for which data transfer has not been completed at the end, detection of the establishment of the data token and counting operation of the data event signal are continued until the data response to the command is completed.
- FIG. 10 is a diagram for explaining the outline of the present embodiment.
- data dA, dB, and dC for commands generated before the collection of system performance evaluation profiling data is not counted by each data counter.
- Data for command cl that occurred after collection started Count by dl from each data counter.
- Each data force Unta stops counting operation when the command C 10 to collect at the end of the data transfer of the collection start later generated the command is not completed, cl l ⁇ this against data DLO, dl l is detected .
- FIG. 11 is a configuration diagram of the system performance profiling device of the present embodiment. Note that in the fourth embodiment, identical symbols are assigned to the same components as in the first through third embodiments, and descriptions thereof are omitted because they can be applied.
- the system performance profiling device lc includes a host IF 11, a filter setting unit 12, a command token detection unit 13, a write data token detection unit 14, a read data token detection unit 15, a command filter 16, and a write data filter. 17, read data filter 18, command generation management unit 31, data generation management unit 32, preceding command generation processing unit 33, residual command generation processing unit 41, write mask unit 35, read mask unit 36, counter unit 42, and selector Section 20 and bit digit setting section 21 are provided.
- the residual command generation processing unit 41 performs the following processing when the filter parameter is a count of both the write transaction event and the read transaction event, and when the filter parameter is a read transaction event count. Do.
- the remaining command generation processing unit 41 receives the counter of the counter for the read command of the command generation management unit 31 at the time when the collection end signal is input. Takes the value (hereinafter referred to as “residual read command comparison value”) and holds it internally.
- the residual command generation processing unit 41 (all read commands generated before the end of collection).
- a read data counter stop signal is output to the counter unit 42.
- the remaining command generation processing unit 41 outputs a write data counter stop signal to the counter unit 42 when the collection end signal is input via the host IF 11.
- the remaining command generation processing unit 41 uses a write transaction and a read parameter as filter parameters. If it is the count of both events of the current transaction, and if the filter parameter is the count of events of the write transaction, the following processing is performed.
- the remaining command generation processing unit 41 receives the counter of the write command counter of the command generation management unit 31 at the time when the collection end signal is input.
- the value (hereinafter referred to as the residual write command comparison value) is taken in and stored internally.
- the residual write command comparison value is taken in and stored internally.
- the residual command generation processing unit 41 (all write commands generated before the end of collection).
- the write data counter stop signal is output to the counter unit 42.
- the remaining command generation processing unit 41 outputs a read data counter stop signal to the counter unit 42 when a collection end signal is input via the host IF 11.
- the counter unit 42 includes a command counter 19a, a write data counter 42b, and a read data force counter 42c.
- the write data counter 42b and the read counter 42c are the same as the write data counter 19b and the read data counter 19c, respectively, except for the count operation stop timing.
- the write data counter 42b stops counting when a write data counter stop signal is input from the remaining command generation processing unit 41.
- the read data counter 42c stops counting.
- the counter unit 42 outputs a first selection command signal to the selector unit 20 when a collection start signal is input from the host IF 11.
- the counter unit 42 outputs a second selection command signal to the selector unit 20.
- Pre-starting power of collecting profiling data for system performance evaluation The command generation management unit 31 and the data generation management unit 32 are operating.
- the counter unit 42 starts operation, and the counter unit 42 outputs a first selection command signal to the selector unit 20.
- the first selection command signal is input to the selector unit 20, the command selector 20a, the write data selector 20a, and the read data selector 20c respectively receive the value of the first output bit digit of the command counter 19a and the write data counter. Select the value of the second output bit digit of 42b and the value of the third output bit digit of the read data counter 42c, and output them to the outside.
- the preceding command generation processing unit 33 outputs a low level signal to the write mask unit 35 until the data transfer for all the write commands generated before the start of collection is completed, and the write mask unit 35 serves as a write event signal. Put on a mask. After that, the preceding command generation processing unit 33 outputs a high level signal to the write mask unit 35 when data transfer for all the write commands generated before the start of collection is completed, and the write mask unit 35 keeps the write event signal as it is. Output to the subsequent circuit block.
- the preceding command generation processing unit 33 outputs a low level signal to the read mask unit 36 until the data transfer for all the read commands generated before the start of collection is completed, and the read mask unit 36 performs a write event. Mask the signal. After that, the preceding command generation processing unit 33 outputs a high level signal to the read mask unit 36 when the data transfer for all read commands generated before the start of collection is completed, and the read mask unit 36 outputs a write event signal. The data is output to the subsequent circuit block as it is.
- the command counter 19a stops the counting operation.
- the remaining command generation processing unit 41 outputs a write data count stop signal to the counter unit 42 when the data transfer for all the write commands generated before the collection end signal is input, and the write data counter 42b counts. Stop operation.
- the remaining command generation processing unit 41 outputs a read data count stop signal to the counter unit 42 when the data transfer for all the read commands generated before the collection end signal is input is completed.
- the data counter 42c stops counting.
- the counter unit 42 outputs the second selection command signal to the selector unit 20 after all of the collection end signal, the write data count stop signal, and the read data count stop signal are input.
- the command selector 20a selects the first output counter value of the command counter 19a and outputs it to the outside.
- the write data selector 2 Ob selects the second output counter value of the write data counter 42b and outputs it to the outside.
- the read data selector 20c selects the third output counter value of the read data counter 42c and outputs it to the outside.
- the power described using the write transaction and the read transaction as examples of the no transaction is not limited to this, and the present invention can be applied to other transactions.
- each selector when the selector unit force second selection command signal is input, each selector automatically selects the first output counter value, the second output counter value, and the third counter value.
- the present invention is not limited to this, and the selectors are not limited to this, and each selector uses the first output counter value, the second output counter value, and the output signal based on the external device force instruction signal used by the worker.
- the third counter value may be selected and output to the outside.
- the number of residual write commands and the number of residual read commands are output from the write data selector 37b and the read data selector 37c, respectively.
- the unit 34 outputs the number of remaining write commands and the number of remaining read commands to the command selector 20a, and after the command selector 20a completes collection, outputs the first output counter value or outputs the first output counter value. before Alternatively, the number of residual write commands and the number of residual read commands may be output to the outside.
- the present invention can be used for system performance evaluation at the time of development and product level of system LSI for digital AV equipment.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007512974A JP4931804B2 (ja) | 2005-04-11 | 2006-04-07 | システム性能プロファイリング装置 |
US11/887,485 US7765087B2 (en) | 2005-04-11 | 2006-04-07 | System performance profiling device integrated inside a system-on-chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005113209 | 2005-04-11 | ||
JP2005-113209 | 2005-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006109728A1 true WO2006109728A1 (ja) | 2006-10-19 |
Family
ID=37087001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/307463 WO2006109728A1 (ja) | 2005-04-11 | 2006-04-07 | システム性能プロファイリング装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7765087B2 (ja) |
JP (1) | JP4931804B2 (ja) |
CN (1) | CN100583081C (ja) |
WO (1) | WO2006109728A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181603A (ja) * | 2011-02-28 | 2012-09-20 | Verification Technology Inc | 検証機能を有する半導体デバイス |
JP2022534210A (ja) * | 2019-06-28 | 2022-07-28 | 中興通訊股▲ふん▼有限公司 | バス監視方法、記憶媒体及び電子装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788947B (zh) * | 2010-02-09 | 2012-10-17 | 华为技术有限公司 | 系统总线的监测方法、系统总线监测器及片上系统 |
US8943248B2 (en) * | 2011-03-02 | 2015-01-27 | Texas Instruments Incorporated | Method and system for handling discarded and merged events when monitoring a system bus |
US20120226839A1 (en) * | 2011-03-02 | 2012-09-06 | Texas Instruments Incorporated | Method and System for Monitoring and Debugging Access to a Bus Slave Using One or More Throughput Counters |
CN102662782B (zh) * | 2012-04-17 | 2014-09-03 | 华为技术有限公司 | 一种监控系统总线的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02144737A (ja) * | 1988-11-28 | 1990-06-04 | Fujitsu Ltd | カウント回路制御方式 |
JPH05120456A (ja) * | 1991-10-25 | 1993-05-18 | Seiko Instr Inc | 1チツプマイクロプロセツサ |
JP2002149442A (ja) * | 2000-11-10 | 2002-05-24 | Hitachi Ltd | データプロセッサ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0343843A (ja) * | 1989-07-11 | 1991-02-25 | Fujitsu Ltd | カウンタ回路 |
JP3158425B2 (ja) | 1990-10-18 | 2001-04-23 | 日本電気株式会社 | マイクロコンピュータ |
US5581778A (en) * | 1992-08-05 | 1996-12-03 | David Sarnoff Researach Center | Advanced massively parallel computer using a field of the instruction to selectively enable the profiling counter to increase its value in response to the system clock |
US6598150B2 (en) * | 1999-02-26 | 2003-07-22 | Arm Limited | Asynchronously accessing the program counter values of a data processing system by applying an independent clock on the latching and scan-chain circuits |
US6356615B1 (en) * | 1999-10-13 | 2002-03-12 | Transmeta Corporation | Programmable event counter system |
JP2002108647A (ja) * | 2000-09-29 | 2002-04-12 | Ricoh Co Ltd | トレースメモリを内蔵した半導体装置及びプロセッサ開発支援装置 |
JP4445160B2 (ja) * | 2001-05-18 | 2010-04-07 | 富士通株式会社 | イベント計測装置および方法並びにイベント計測プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体並びにプロセッサシステム |
US6937961B2 (en) * | 2002-09-26 | 2005-08-30 | Freescale Semiconductor, Inc. | Performance monitor and method therefor |
JP4504737B2 (ja) * | 2004-05-26 | 2010-07-14 | ルネサスエレクトロニクス株式会社 | パフォーマンス・モニタ回路 |
US7546642B2 (en) * | 2004-07-09 | 2009-06-09 | Arm Limited | Latching processor state information |
-
2006
- 2006-04-07 US US11/887,485 patent/US7765087B2/en not_active Expired - Fee Related
- 2006-04-07 JP JP2007512974A patent/JP4931804B2/ja not_active Expired - Fee Related
- 2006-04-07 WO PCT/JP2006/307463 patent/WO2006109728A1/ja active Application Filing
- 2006-04-07 CN CN200680011844.XA patent/CN100583081C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02144737A (ja) * | 1988-11-28 | 1990-06-04 | Fujitsu Ltd | カウント回路制御方式 |
JPH05120456A (ja) * | 1991-10-25 | 1993-05-18 | Seiko Instr Inc | 1チツプマイクロプロセツサ |
JP2002149442A (ja) * | 2000-11-10 | 2002-05-24 | Hitachi Ltd | データプロセッサ |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012181603A (ja) * | 2011-02-28 | 2012-09-20 | Verification Technology Inc | 検証機能を有する半導体デバイス |
JP2022534210A (ja) * | 2019-06-28 | 2022-07-28 | 中興通訊股▲ふん▼有限公司 | バス監視方法、記憶媒体及び電子装置 |
JP7383053B2 (ja) | 2019-06-28 | 2023-11-17 | セインチップス テクノロジー カンパニーリミテッド | バス監視方法、記憶媒体及び電子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100583081C (zh) | 2010-01-20 |
CN101156148A (zh) | 2008-04-02 |
US7765087B2 (en) | 2010-07-27 |
JPWO2006109728A1 (ja) | 2008-11-20 |
US20090254310A1 (en) | 2009-10-08 |
JP4931804B2 (ja) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9830241B2 (en) | Debug in a multicore architecture | |
EP1805621B1 (en) | Method and system for debugging a multi-threaded program executing in a multicore architecture | |
EP1690184B1 (en) | Apparatus and method for time ordering events in a system having multiple time domains | |
US5822571A (en) | Synchronizing data between devices | |
US6024486A (en) | Data error detection and correction | |
WO2006109728A1 (ja) | システム性能プロファイリング装置 | |
CN113258546B (zh) | 芯片级软硬件协同继电保护装置 | |
CN207817702U (zh) | 用于提高数据处理速度的数据处理系统 | |
US9639447B2 (en) | Trace data export to remote memory using remotely generated reads | |
US8631178B2 (en) | System bus monitoring method, system bus monitor, and system on chip | |
US7818624B2 (en) | Processor bus for performance monitoring with digests | |
US10078113B1 (en) | Methods and circuits for debugging data bus communications | |
JP2018537762A (ja) | 回路設計をデバッグするための方法および回路 | |
US6760864B2 (en) | Data processing system with on-chip FIFO for storing debug information and method therefor | |
JP2023503990A (ja) | ロックステップで動作するプロセッサのモニタリング | |
CN110609762B (zh) | 一种防止先进高性能总线(ahb)死锁的方法及装置 | |
US9396145B1 (en) | In-chip bus tracer | |
US20100162269A1 (en) | Controllable interaction between multiple event monitoring subsystems for computing environments | |
CN115392186A (zh) | 一种片上系统中故障收集管理系统及方法 | |
GB2571727A (en) | Monitoring accesses to a region of an integrated circuit chip | |
WO2024131163A1 (zh) | 芯片内部电压预测模型生成方法、预测方法及相关装置 | |
KR20210096793A (ko) | 시스템 온 칩 및 이의 디버깅 방법 | |
EP3722957A1 (en) | Performance profiling | |
JP2022033610A (ja) | 電子機器用デバイス、電子機器用デバイスの制御方法および電子機器用デバイスの制御プログラム | |
JPH07111700B2 (ja) | ダウン・コード収集回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680011844.X Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 11887485 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007512974 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: RU |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06731410 Country of ref document: EP Kind code of ref document: A1 |