Scoreboard Speculative Load Store Issue

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Superscalar microprocessors face performance bottlenecks due to stalling of load/store instructions in the decode/issue unit caused by unknown latency and read times, leading to data dependencies such as WAW, WAR, and RAW dependencies, which disrupt the pipeline execution.

Innovation Solution

A microprocessor with a scoreboard system that tracks latency and read/write times for instructions, allowing speculative issuance of load/store instructions to dedicated execution queues, where data dependencies are resolved, enabling subsequent instructions to progress without waiting for dependencies to be cleared.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If load/store instructions are stalled in the decode/issue unit due to unknown latency and data dependencies, then data dependency violations (WAW, WAR, RAW) are prevented, but microprocessor performance deteriorates due to pipeline interruptions

Engineering Contradiction:
Improvedata dependency correctnessVSAvoidmicroprocessor performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The scoreboard system performs preliminary tracking of latency and read/write times for all instructions before they are executed. By pre-computing and storing this dependency information in the scoreboard, the system can make informed scheduling decisions at decode/issue time without needing to stall for unknown latencies, thus resolving the contradiction between ensuring data dependency correctness and maintaining pipeline throughput

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scoreboard acts as an intermediary mechanism between the decode/issue unit and the execution units. It mediates the data dependency resolution by providing advanced information about instruction latency and read/write timing, allowing the decode/issue unit to schedule instructions optimally without stalling, thereby maintaining both data dependency integrity and pipeline performance

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple temporary storages (re-order buffer, register renaming, execution queues) are used to manage data dependencies, then data dependency violations are avoided, but device complexity and power consumption increase

Engineering Contradiction:
Improvedata dependency correctnessVSAvoidstorage structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention extracts the essential dependency tracking function from the complex web of temporary storages (re-order buffer, register renaming, execution queues) and concentrates it into a single scoreboard structure. This scoreboard contains only the necessary information (latency, read time, write time) needed for dependency resolution, eliminating the need for multiple complex storage systems while maintaining data dependency correctness

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The scoreboard serves multiple functions simultaneously: it tracks latency information, monitors read/write timing, detects data dependencies (WAW, WAR, RAW), and provides scheduling guidance. This multi-functional approach replaces the need for separate specialized storages for each function, reducing overall device complexity while maintaining reliability

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

3Productivity

If load/store instructions with unknown latency are issued speculatively to the execution queue, then pipeline stalls are avoided and performance improves, but data dependency resolution becomes more complex

Engineering Contradiction:
Improvemicroprocessor performanceVSAvoiddata dependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scoreboard performs preliminary tracking of latency and timing information for all instructions before they are issued to the execution queue. This advance preparation allows speculative issuance of load/store instructions without unknown latencies causing dependency resolution complexity, as the scoreboard already contains the necessary timing data to manage dependencies correctly

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scoreboard provides continuous feedback about instruction latency, read times, and write times to the decode/issue unit and execution queue. This feedback mechanism enables the system to dynamically adjust scheduling decisions and resolve data dependencies correctly even when instructions are issued speculatively, maintaining performance while managing complexity through informed control

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11687347B2Microprocessor and method for speculatively issuing load/store instruction with non-deterministic access time using scoreboard
Publication Date: 2023.06.27 ANDES TECH
  • US11687347B2 patent drawing
  • US11687347B2 patent drawing
  • US11687347B2 patent drawing

AI summary

A microprocessor and a method for issuing a load/store instruction is introduced. The microprocessor includes a decode/issue unit, a load/store queue, a scoreboard, and a load/store unit. The scoreboard includes a plurality of scoreboard entries, in which each scoreboard entry includes an unknown bit value and a count value, wherein the unknown bit value or the count value is set when instructions are issued. The decode/issue unit checks for WAR, WAW, and RAW data dependencies from the scoreboard and dispatches load/store instructions to the load/store queue with the recorded scoreboard values. The load/store queue is configured to resolve the data dependencies and dispatch the load/store instructions to the load/store unit for execution.