Read Shifter for Register File Read Port Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The limited number of read ports in a processor's register file leads to conflicts and stalling in the instruction pipeline, particularly when executing vector instructions with multiple micro operations, resulting in degraded processor performance.

Innovation Solution

A microprocessor architecture that includes a read shifter with shifter entries indicating the availability of read ports for each clock cycle, allowing the decode unit to determine the best time to issue instructions and prevent conflicts by shifting out shifter entries every clock cycle, thereby controlling the instruction pipeline effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple parallel instructions are issued to improve processor performance, then instruction throughput increases, but read port conflicts occur causing stalling and interlocking

Engineering Contradiction:
Improveinstruction throughputVSAvoidpipeline stalling
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The read shifter pre-calculates and stores read port availability information for multiple future clock cycles before instructions are issued. The decode unit queries this pre-computed availability data to determine optimal issue timing, preventing conflicts before they occur rather than resolving them after stalling begins

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read shifter acts as an intermediary component between the decode unit and the register file read ports. It provides availability information that mediates the conflict between multiple instructions seeking read port access, allowing the decode unit to make informed scheduling decisions without direct conflict with the register file

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the number of read ports in the register file is increased to handle more parallel instructions, then read port availability improves, but device complexity and cost increase

Engineering Contradiction:
Improveparallel instruction execution capabilityVSAvoidregister file structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The solution segments the read port availability information into discrete time slots represented by shifter entries, where each entry corresponds to a specific clock cycle. This allows the system to manage read port access in time-segmented units rather than requiring simultaneous access to multiple physical read ports

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of physically duplicating read ports, the patent creates a logical copy of read port availability information through the read shifter's shifter entries. Each entry contains read value data that replicates the availability state, allowing multiple instructions to be scheduled based on this copied information without requiring actual hardware duplication

Inventive Principle:
Principle #26Copying

3Productivity

If vector instructions with multiple micro operations are executed to improve performance, then computational capability increases, but read port conflicts and pipeline interlocking worsen

Engineering Contradiction:
Improvevector instruction executionVSAvoidpipeline control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The read shifter pre-computes availability patterns for the multiple clock cycles required to execute vector instructions with multiple micro operations. This allows the decode unit to issue all micro operations in advance with known availability timing, preventing pipeline interlocking during vector execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read shifter dynamically shifts through different availability patterns stored in its entries, adapting to the specific timing requirements of different vector instructions. The shifter rotates through pre-computed availability data to match the dynamic timing needs of various micro operation sequences

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11263013B2Processor having read shifter and controlling method using the same
Publication Date: 2022.03.01 ANDES TECH
  • US11263013B2 patent drawing
  • US11263013B2 patent drawing
  • US11263013B2 patent drawing

AI summary

A processor that includes a register file, a read shifter, a decode unit and a plurality of functional units is introduced. The register file includes a read port. The read shifter includes a plurality of shifter entries and is configured to shift out a shifter entry among the plurality of shifter entries every clock cycle. Each of the plurality of shifter entries is associated with a clock cycle and each of the plurality of shifter entries comprises a read value that indicates an availability of the read port of the register file for a read operation in the clock cycle. The decode unit is coupled to the read shifter and is configured to decode and issue an instruction based on the read values included in the plurality of shifter entries of the read shifter. The plurality of functional units is coupled to the decode unit and the register file and is configured to execute the instruction issued by the decode unit and perform the read operation to the read port of the register file.