G06F11/348

Debug Trace of Cache Memory Requests

An apparatus includes a plurality of processor circuits, a cache memory circuit, and a trace control circuit. The trace control circuit may be configured, in response to activation of a mode to record information indicative of program execution of at least one processor circuit of the plurality of processor circuits, to monitor memory requests transmitted between ones of the plurality of processor circuits and the cache memory circuit, and then to select a particular memory request of monitored memory requests using an arbitration algorithm. The trace control circuit may be further configured to allocate space in a trace buffer to the particular memory request, and to store, in the trace buffer, information associated with the particular memory request.

High-Frequency Event-Based Hardware Diagnostics
20220334939 · 2022-10-20 ·

An apparatus includes operational circuitry and Hardware Diagnostics Circuitry (HDC). The HDC is configured to receive a definition of multiple trigger rules, each trigger rule specifying a respective trigger event as a function of trigger data sources in the operational circuitry, to receive a definition of (i) a pre-trigger logging set selected from among a plurality of diagnostics data sources in the operational circuitry, and (ii) for each trigger rule, a respective post-trigger logging set including a set of one or more of the diagnostics data sources, and, during operation of the operational circuitry, to log the diagnostics data sources in the pre-trigger logging set, to log the trigger data sources and to repeatedly evaluate the trigger rules, and, in response to triggering of a given trigger event by a given trigger rule, to start logging the diagnostics data sources in the post-trigger logging set of the given trigger rule.

PROCESSOR WITH DEBUG PIPELINE

A processor includes an execution pipeline that includes a plurality of execution stages, execution pipeline control logic, and a debug system. The execution pipeline control logic is configured to control flow of an instruction through the execution stages. The debug system includes a debug pipeline and debug pipeline control logic. The debug pipeline includes a plurality of debug stages. Each debug pipeline stage corresponds to an execution pipeline stage, and the total number of debug stages corresponds to the total number of execution stages. The debug pipeline control logic is coupled to the execution pipeline control logic. The debug pipeline control logic is configured to control flow through the debug stages of debug information associated with the instruction, and to advance the debug information into a next of the debug stages in correspondence with the execution pipeline control logic advancing the instruction into a corresponding stage of the execution pipeline.

REAL-TIME PERFORMANCE TRACKING USING DYNAMIC COMPILATION

Systems, apparatuses, and methods for performing real-time tracking of performance targets using dynamic compilation. A performance target is specified in a service level agreement. A dynamic compiler analyzes a software application executing in real-time and determine which high-level application metrics to track. The dynamic compiler then inserts instructions into the code to increment counters associated with the metrics. A power optimization unit then utilizes the counters to determine if the system is currently meeting the performance target. If the system is exceeding the performance target, then the power optimization unit reduces the power consumption of the system while still meeting the performance target.

Automatic window generation for process trace

Automatic definition of windows for trace analysis. For each process step, the trace data are aligned to both the start of the process step and the end of the process step, and statistics including rate of change are calculated from both the start of the process step and the end of the process step. Windows are generated based on analysis of the calculated statistics.

Programmable state machine for a hardware performance monitor

A processing unit can include a performance monitor for monitoring the performance of the processing unit and associated sub-units. The performance monitor can include a state machine. The state machine can be implemented via state machine data entries stored in a memory associated with the performance monitor. A state machine data entry includes information indicating a state transition condition and output signals. The state transition condition includes a current state and input signals required to meet the condition. The output signals include a next state, one or more counter actions, and one or more triggers. The performance monitor implements logic circuits that determine, based on input signals and the state machine data entries, the next state to transition and associated output signals. The state machine data entries can be written and re-written by a user.

METHODS AND SYSTEMS FOR DYNAMIC RECONFIGURING OF HARDWARE PERFORMANCE MONITORING UNIT (PMU) EVENTS

A method, computer program product, and/or system is disclosed for changing the events monitored by a processor including: determining whether a change in the monitoring of the first event to the second different event has been requested; copying, in response to a request to change the monitoring of the first event to the second different event, op-codes from memory into microcode executable by a general processing engine; and executing the op-codes from memory by the general processing engine to change the first event monitored by the counter to the second different event.

EVENT RATE CHANGE BASED HARDWARE PERFORMANCE DATA COLLECTION
20170344455 · 2017-11-30 ·

An approach for writing performance data to memory based on a hardware event rate change involving receiving a hardware event count associated with a computer processor, comparing the hardware event count to a previous hardware event count, computing the hardware event rate change associated with a change between the hardware event count and the previous hardware event count and, responsive to the hardware event rate change not equaling a threshold rate, writing the hardware event count to memory.

Debug in a multicore architecture

A method of monitoring thread execution within a multicore processor architecture which comprises a plurality of interconnected processor elements for processing the threads, the method comprising receiving a plurality of thread parameter indicators of one or more parameters relating to the function and/or identity and/or execution location of a thread or threads, comparing at least one of the thread parameter indicators with a first plurality of predefined criteria each representative of an indicator of interest, and generating an output consequential upon thread parameter indicators which have been identified to be of interest as a result of the said comparison.

Tracing events in an autonomous event system
09830245 · 2017-11-28 · ·

Systems and methods for generating event trace records are described. One example system includes an event subsystem that receives signaling events generated by one or more associated peripheral devices. The system includes a trace module which is coupled to the event subsystem. The trace module receives the signaling events, samples the received signaling events, receives timestamps, and generates event trace records. Each event trace record includes the sampled signaling events and a respective timestamp indicative of the sampling time. The trace module can generate save commands, and deliver the event trace records and the save commands as outputs.