Dynamic Circular Buffer Resizing for Processor Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional circular buffers in processors have fixed sizes, leading to resource wastage and potential stalling due to inefficient allocation of resources, particularly in out-of-order processors where multiple threads share re-order buffers.

Innovation Solution

Implementing a dynamic resizing mechanism for circular buffers by allocating and deallocating arrays from a shared pool based on demand, using buffer control logic to manage array allocation and deallocation, and disabling unused arrays for power conservation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If circular buffers are allocated with fixed size, then resource allocation is simple and reliable, but resource wastage occurs and processor stalling may happen due to inefficient allocation

Engineering Contradiction:
Improveprocessor performanceVSAvoidstorage resource usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic resizing of circular buffers by allowing the buffer size to change at runtime based on actual demand. The buffer can expand when more storage is needed and shrink when less is needed, transforming the static fixed-size allocation into a dynamic adaptive structure that optimizes both productivity and resource usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the parameter of buffer size from a fixed constant to a variable that can be adjusted based on operational conditions. By monitoring buffer utilization and dynamically modifying the size parameter, the system achieves efficient resource allocation that prevents both wastage and processor stalling.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If multiple arrays are allocated to circular buffers, then buffer capacity increases and stalling is reduced, but power consumption increases due to unused arrays remaining active

Engineering Contradiction:
Improvebuffer capacityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements a power management mechanism that discards (disables) unused arrays from active operation and recovers power when they are no longer needed. When arrays are not currently being used by the circular buffer, they are transitioned to a disabled state, eliminating their power consumption while maintaining the capability to reactivate them when needed.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The system implements self-service power management where the circular buffer automatically manages the power state of its constituent arrays based on actual usage patterns. The buffer monitors its own needs and dynamically enables or disables arrays accordingly, without requiring external intervention, thus optimizing power consumption while maintaining necessary capacity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9824003B2Dynamically resizable circular buffers
Publication Date: 2017.11.21 MIPS TECH INC
  • US9824003B2 patent drawing
  • US9824003B2 patent drawing
  • US9824003B2 patent drawing

AI summary

Methods and apparatus for dynamically resizing circular buffers are described wherein circular buffers are dynamically allocated arrays from a pool of arrays. The method comprises receiving either a request to add data to a circular buffer or to remove data from a circular buffer. If the request is an addition request and the circular buffer is full, an array from the pool is allocated to the circular buffer. If, however, the request is a removal request and removal of the data creates an empty array, an array is de-allocated from the circular buffer and returned to the pool. Any arrays that are not allocated to a circular buffer may be disabled to conserve power.