G06F11/3656

Monitoring system and method with baseboard management controller
11113166 · 2021-09-07 · ·

A monitoring system includes a baseboard management controller (BMC) disposed on a same baseboard as a system under test; an administrator device electrically connected to the BMC; and a software test fixture stored in the BMC, the software test fixture generating an electrical signal, which is transferred to a corresponding target device of the system under test to access a register of the corresponding target device.

Remote logging via telemetry

The present disclosure relates to devices and methods for remotely saving console output messages. The devices and methods may generate console output messages for an application running on the game device. The devices and method may redirect the console output messages from presenting on the console to a console message queue and generate a single console telemetry event in response to a trigger event. The console telemetry event may capture a plurality of the console output messages in the console message queue. The device and methods send the console telemetry event for remote storage. In addition, the devices and methods may use a remote program console to access or otherwise view the stored console telemetry events. The remote program console may be used to filter or search the stored console telemetry events.

ARCHITECTURE AGNOSTIC REPLAY VERFICATION
20210191841 · 2021-06-24 · ·

According to aspects of the disclosure a method is provided, comprising: generating a live execution trace log corresponding to a live execution of a computer program, the live execution being performed by using both hardware emulation and hardware acceleration; generating a first trace entry corresponding to a replay execution of the computer program, the replay execution being performed by using hardware emulation without hardware acceleration, the replay execution being performed based on a set of events that are recorded during the live execution of the computer program; detecting whether the first trace entry is valid based on the live execution trace log; and in response to detecting that the first trace entry is not valid, transitioning into a safe state.

Securely debugging different applications in a single short-lived container
11113177 · 2021-09-07 · ·

A data processing system adapted for securely debugging multiple different application instances in a single short-lived container includes a host computing platform having one or more computers, each with memory and at least one processor. The system also includes a container manager executing in the host computing platform, such that during execution, the container manager manages a multiplicity of different containers of a containerized environment. Finally, the system includes a debug server containerized within one of the containers. The debug server authenticates with the container manager for the one of the containers and establishes a communicative link over a computer communications network with a debug client disposed externally to the containerized environment, so that the debug server then proxies debug directives received from the debug client to selected ones of different application instances each executing within the one of the containers.

Technology For Controlling Access To Processor Debug Features

A processor that was manufactured by a manufacturer comprises privileged debug operational circuitry, a debug restriction fuse, a credential store, a credential of the manufacturer in the credential store, and debug control circuitry. The debug restriction fuse is a one-time programmable fuse. The debug control circuitry is to automatically restrict access to the privileged debug operational circuitry, based on the debug restriction fuse. The processor may also include public debug operational circuitry, a prevent-unauthorized-debug (PUD) fuse, and an undo-PUD fuse. When the PUD fuse is set and the undo-PUD fuse is clear, the debug control circuitry may respond to an attempt by a debugger to use the public debug operational circuitry by determining whether the debugger is authorized, disallowing access if the debugger is not authorized, and allowing access if the debugger is authorized. Other embodiments are described and claimed.

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.

Distinct system registers for logical processors

Distinct system registers for logical processors are disclosed. In one example of the disclosed technology, a processor includes a plurality of block-based physical processor cores for executing a program comprising a plurality of instruction blocks. The processor also includes a thread scheduler configured to schedule a thread of the program for execution, the thread using the one or more instruction blocks. The processor further includes at least one system register. The at least one system register stores data indicating a number and placement of the plurality of physical processor cores to form a logical processor. The logical processor executes the scheduled thread. The logical processor is configured to execute the thread in a continuous instruction window.

METHOD FOR MANAGING THE DEBUGGING OF A SYSTEM ON CHIP FORMING FOR EXAMPLE A MICROCONTROLLER, AND CORRESPONDING SYSTEM ON CHIP
20210157668 · 2021-05-27 ·

In an embodiment a system on chip includes a plurality of microprocessors, a plurality of slave resources, an interconnection circuit coupled between the microprocessors and the slave resources, the interconnection circuit configured to route transactions between the microprocessors and the slave resources and a processing controller configured to allow a user of the system to implement within the system at least one configuration diagram of the system defined by a set of configuration pieces of information used to define an assignment of at least one microprocessor to at least some of the slave resources, select the at least one microprocessors, and authorise an external debugging tool to access, for debugging purposes, only the slave resources assigned to the at least one microprocessor.

Systems and methods for configuring programmable logic devices for deep learning networks

Systems and methods may configure a programmable logic device to efficiently run a deep learning (DL) network. Architecture code and algorithmic code may be generated. The architecture code may define convolutional and fully connected processor cores structured to run the layers of a Deep Neural Network (DNN). The processor cores may be interconnected by a First In First Out (FIFO) memory. The architecture code may also define stride-efficient memories for implementing convolution. The algorithmic code may include configuration instructions for running the DNN's layers at the processor cores. The algorithmic code may also include a schedule for executing the configuration instructions on the processor cores, for moving network parameters to the processor cores, and for transferring outputs between the layers.

Determining instruction execution history in a debugger

Determining instruction execution history in a debugger, including: retrieving, from an instruction cache, cache data that includes an age value for each cache line in the instruction cache; sorting, by the age value for each cache line, entries in the instruction cache; retrieving, using an address contained in each cache line, one or more instructions associated with the address contained in each cache line; and displaying the one or more instructions.