Picoengine Processor Tripwire Bus Port Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures require substantial integrated circuit area for instruction counters and associated control circuitry, limiting the miniaturization of processors, and lack efficient mechanisms for debugging and monitoring of network packet processing operations.

Innovation Solution

The picoengine processor, which executes tripwire instructions and communicates tripwire values through a tripwire bus, utilizes a novel architecture without an instruction counter, incorporating a tripwire bus port for outputting multi-bit values and a picoengine number, and a Tripwire Data Merging and Collision Detection Circuit to consolidate and debug these values across a pool of processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Area of stationary object

If traditional processor architectures with instruction counters and control circuitry are used, then processing functionality is achieved, but integrated circuit area increases

Engineering Contradiction:
Improveintegrated circuit areaVSAvoidcontrol circuitry complexity
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

The patent removes the instruction counter and associated control circuitry from the processor architecture. The picoengine processor executes instructions by fetching them sequentially from memory without requiring an instruction counter to track the program counter, thereby eliminating substantial control circuitry and reducing integrated circuit area while maintaining processing functionality

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The tripwire bus port serves multiple functions: it outputs debug information from individual picoengines, consolidates data from multiple processors through the TDMCDC circuit, and enables both monitoring and debugging operations through a single interface, replacing what would traditionally require separate dedicated circuits

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Area of stationary object

If processor size is reduced for miniaturization, then integrated circuit area decreases, but debugging and monitoring capability deteriorates

Engineering Contradiction:
Improveprocessor sizeVSAvoiddebugging and monitoring capability
Core Design Contradiction:
Area of stationary objectVSDifficulty of detecting and measuring

Solution Approach 1:

The TDMCDC circuit acts as an intermediary between multiple miniaturized picoengines and the external debug station. It consolidates tripwire values from multiple processors onto a single bus, enabling effective debugging and monitoring of network packet processing even though individual processors are highly miniaturized

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The tripwire instruction and bus port create a feedback mechanism where processors output their internal state (register values, flags, pointers) for external observation. This allows real-time monitoring of processor operation and detection of processing anomalies without increasing processor size

Inventive Principle:
Principle #23Feedback

3Difficulty of detecting and measuring

If traditional debug mechanisms are implemented, then debugging capability is provided, but power consumption increases

Engineering Contradiction:
Improvedebugging capabilityVSAvoidpower consumption
Core Design Contradiction:
Difficulty of detecting and measuringVSUse of energy by moving object

Solution Approach 1:

The tripwire bus outputs data synchronously on a periodic clock basis rather than continuously. The TDMCDC circuit consolidates data at specific clock cycles, enabling debugging capability while reducing power consumption compared to continuous data output mechanisms used in traditional architectures

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9489202B2Processor having a tripwire bus port and executing a tripwire instruction
Publication Date: 2016.11.08 NETRONOME SYSTEMS INC
  • US9489202B2 patent drawing
  • US9489202B2 patent drawing
  • US9489202B2 patent drawing

AI summary

A pipelined run-to-completion processor has a special tripwire bus port and executes a novel tripwire instruction. Execution of the tripwire instruction causes the processor to output a tripwire value onto the port during a clock cycle when the tripwire instruction is being executed. A first multi-bit value of the tripwire value is data that is output from registers, and/or flags, and/or pointers, and/or data values stored in the pipeline. A field of the tripwire instruction specifies what particular stored values will be output as the first multi-bit value. A second multi-bit value of the tripwire value is a number that identifies the particular processor that output the tripwire value. The processor has a TE enable/disable control bit. This bit is programmable by a special instruction to disable all tripwire instructions. If disabled, a tripwire instruction is fetched and decoded but does not cause the output of a tripwire value.