Queue Processor Dependency Management via Signal-Wait Counter Matrix
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallel processing systems face challenges in efficiently maintaining dependencies between command streams in multicore processor systems, leading to increased latency and power consumption.
Innovation Solution
A queue processor system with a set of command queues, a signal-wait counter matrix, and command logic modules is introduced. This system dequeues wait and signal primitives, manages pending signal primitives, and dispatches control signals to resources, all while tracking dependencies in hardware to avoid the need for a microprogrammed control processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a microprogrammed control processor is used to maintain dependencies between command streams, then dependency management is achieved, but latency and power consumption increase
Solution Approach 1:
The patent extracts the dependency management function from a microprogrammed control processor and implements it directly in hardware using a signal-wait counter matrix. This separation removes the overhead of microprogrammed control while maintaining the essential dependency tracking functionality, thereby reducing latency without sacrificing reliability.
Solution Approach 2:
The patent replaces the software-based microprogrammed control processor with a hardware-based signal-wait counter matrix system. This substitution transitions from a flexible but slower software control mechanism to a faster hardware-based dependency tracking mechanism, reducing latency while maintaining dependency management capabilities.
2Reliability
If a microprogrammed control processor is used to maintain dependencies between command streams, then dependency management is achieved, but power consumption increases
Solution Approach 1:
The patent extracts the dependency management function from a power-consuming microprogrammed control processor and implements it in dedicated hardware circuitry. This extraction eliminates the continuous power consumption associated with running microcode while maintaining the essential dependency tracking function through hardware-based signal-wait counters.
Solution Approach 2:
The patent substitutes the software-based microprogrammed control processor with a hardware-based signal-wait counter matrix. This substitution replaces the power-intensive software execution model with a more energy-efficient hardware implementation that performs dependency tracking through dedicated circuitry rather than sequential microinstruction execution.
3Loss of time
If a hardware-based dependency tracking system is implemented, then latency and power consumption are reduced, but device complexity increases
Solution Approach 1:
The patent segments the dependency tracking function into discrete signal-wait counter entries, where each entry independently tracks dependencies between specific command streams. This segmentation allows the complex dependency management task to be divided into simple, manageable hardware components, reducing overall system complexity while maintaining low latency through parallel operation.
Solution Approach 2:
The signal-wait counter matrix serves multiple functions simultaneously: it tracks dependencies, manages synchronization, and controls command stream execution. This multi-functionality consolidates what would otherwise require multiple separate hardware components into a single unified structure, reducing device complexity while achieving the desired latency reduction.
Data Source
AI summary
A method includes: dequeuing a signal primitive from a signaling command queue in the set of command queues, the signal primitive pointing to a waiting command queue; in response to the signal primitive pointing to the waiting command queue, incrementing a number of pending signal primitives in the signal-wait counter matrix; dequeuing a wait primitive from the waiting command queue, the wait primitive pointing to the signaling command queue; in response to the wait primitive pointing to the signaling command queue, accessing the register to read the number of pending signal primitives; in response to the number of pending signal primitives indicating at least one pending signal primitive: decrementing the number of pending signal primitives; and dequeuing an instruction from the waiting command queue; and dispatching a control signal representing the instruction to a resource.


