Skip to content

LSU uses insufficient instruction tag width when superscalar slots exceed instr_tag_t capacity #13

@Stefan-Odermatt

Description

@Stefan-Odermatt

Schnizo associates a tag with every instruction. This tag carries information that is later required in the writeback stage. During superscalar loop execution, the tag is also used to forward the slot ID of the producer slot together with the computed result.

In configurations with a large number of slots, the number of bits required to encode this information exceeds the capacity of instr_tag_t. In such cases, the tag width passed through the functional unit must be extended.

For most functional units, this is already handled by defining dedicated tag and issue request types in schnizo_fu_stage.sv that support the extended tag width. For example, the FPU uses a specialized request type:

However, for the LSU this extension was overlooked. The LSU still uses the standard issue_req_t, which is typically used for functional units without a reservation station:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions