Distributed General-Purpose Registers for Embedded Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems for embedded control processors are inefficient in accessing peripheral or coprocessor data due to the need for load and store instructions, which result in processor stalls and increased power consumption, especially when peripheral or coprocessor registers are not cacheable and lack direct access mechanisms.

Innovation Solution

Implementing distributed general-purpose registers (GPRs) where a portion is located within the processor and another portion is external, allowing direct access and eliminating the need for additional load and store instructions by using a system interconnect to access registers in peripherals or coprocessors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred through peripheral bus and bus bridge, then data transfer between processor and peripheral devices is enabled, but processor is stalled for many cycles and power consumption increases

Engineering Contradiction:
Improveprocessor access speedVSAvoidprocessor stall cycles
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The register file is segmented into two distinct parts: local registers within the processor and remote registers in peripheral devices. This segmentation allows the processor to directly access both types of registers without requiring data transfer through the peripheral bus, thereby eliminating processor stalls while maintaining the ability to access peripheral data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The register addressing mechanism is made universal to handle both local and remote registers through a unified interface. The instruction execution unit can specify any register (local or remote) using the same register specifier format, enabling the processor to access peripheral device registers directly without requiring separate access mechanisms or additional instructions.

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

2Productivity

If load and store instructions are used to access peripheral registers, then data transfer is enabled, but additional instructions are required and code density decreases

Engineering Contradiction:
Improveaccess efficiencyVSAvoidinstruction count
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The access mechanisms for local and remote registers are merged into a single unified system. Both types of registers are accessed through the same register file interface using the same instruction format, eliminating the need for separate load/store instructions and address calculation instructions. This reduces the total number of instructions required and improves code density.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If data is transferred through peripheral bus, then access to peripheral registers is enabled, but power consumption increases due to additional bus cycles

Engineering Contradiction:
Improveregister accessibilityVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The peripheral device registers are extracted from the traditional peripheral bus architecture and integrated into the processor's register file system. By taking out the remote registers and making them directly accessible through the processor's existing register interface, the invention eliminates the need for energy-consuming bus transfer cycles while maintaining full accessibility to peripheral data.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11775310B2Data processing system having distrubuted registers
Publication Date: 2023.10.03 NXP BV
  • US11775310B2 patent drawing
  • US11775310B2 patent drawing
  • US11775310B2 patent drawing

AI summary

A processing system includes a system interconnect, a processor coupled to communicate with other components in the processing system through the system interconnect, distributed general purpose registers (GPRs) in the processing system wherein a first subset of the distributed GPRs is located in the processor and a second subset of the distributed GPRs is located in the processing system and external to the processor, and a first set of conductors directly connected between the processor and the second subsets of the distributed GPRs. An instruction execution pipeline in the processor accesses any register in the first and second subsets of the distributed GPRs as part of the processor's GPRs during instruction execution in the processor, in which the second subset of the distributed GPRs is accessed through the first conductor.