Micro-operation Processing Apparatus for Non-vector Throughput
Solution Overview
Problem
Processing units with conventional vector hardware experience low throughput when processing non-vector instructions due to inefficiencies in handling scalar operations.
Innovation Solution
The implementation of a micro-operation processing apparatus with a first and second execution unit, a multiplexer, and data input lanes, allowing for cooperative execution of vector micro-operations and separate execution of non-vector micro-operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional vector hardware is used to process non-vector instructions, then the hardware resources are utilized, but the throughput is low and power consumption is high
Solution Approach 1:
The execution unit is segmented into multiple independent execution units (first execution unit and second execution unit) that can operate independently. Each execution unit can process non-vector micro-operations separately, allowing parallel processing and improving throughput while reducing power consumption by activating only the necessary execution units.
Solution Approach 2:
The system dynamically switches between vector mode and non-vector mode based on the type of micro-operation being executed. The multiplexer dynamically routes data inputs to the appropriate execution units, and the execution units can be selectively activated or deactivated based on workload requirements, optimizing power consumption while maintaining high throughput.
2Productivity
If vector hardware is configured for cooperative execution, then vector micro-operations are efficient, but non-vector micro-operations suffer from low throughput
Solution Approach 1:
The execution unit is designed with multi-functionality to handle both vector and non-vector micro-operations. The same execution units that perform cooperative vector execution can independently execute non-vector micro-operations when routed through the multiplexer, eliminating the need for separate dedicated hardware and reducing overall system complexity while improving throughput.
Solution Approach 2:
A multiplexer is introduced as an intermediary component that routes data inputs to the appropriate execution units based on the operation type. This mediator enables flexible configuration where execution units can be dynamically assigned to handle either vector or non-vector operations, simplifying the hardware architecture while improving throughput for non-vector micro-operations.
Data Source
AI summary
Disclosed are techniques for processing non-vector micro-operations. In an aspect, a micro-operation processing apparatus may include a first execution unit configured to execute micro-operations and a second execution unit configured to execute micro-operations. The micro-operation processing apparatus may include a first multiplexer having an output operatively coupled to an input of the second execution unit. The micro-operation processing apparatus may include a first data input lane operatively coupled to an input of the first execution unit and a first input of the first multiplexer. The micro-operation processing apparatus may also include a second data input lane operatively coupled to a second input of the first multiplexer.


