Uploaded image for project: 'RISC-V Specification Lifecycle'
  1. RISC-V Specification Lifecycle
  2. RVS-680

Zacas - Atomic Compare-and-Swap (CAS)

    • Yes
    • ISA
    • Zacas
    • Ratification-Ready Approved
    • Completed
    • Completed
    • Approved
    • Completed
    • Completed
    • Completed
    • Completed
    • Approved
    • 0

      Owner/Editor: Ved Shanbhogue

      Zacas introduces three instructions to perform atomic compare and swap operations

      • AMOCAS.W/D/Q - compare-and-swap word/doubleword/quadword

       

      AMOCAS provides an easy and typically faster way to perform thread synchronization operations 

      • For by lock-free and wait-free algorithms. 
      • Scale better to highly parallel systems than LR/SC.

      AMOCAS required to guard against the ABA problem in algorithms that manipulate pointers

      • The algorithms associate a reference counter with the pointer variable
      • Perform updates using a quadword compare and swap (of both the pointer and the counter)
      • Double/Quadword CAS instructions support implementation of such algorithms

        1.
        [Inception] - Infrastructure Setup Request Specification Acceptance Criteria Done Unassigned 01/May/23 0
        2.
        [Plan] - Develop Specification Plan Planning Acceptance Criteria Done Unassigned 04/Apr/23 0
        3.
        [Plan] - Governing Committee Approval Approval Approved Jeff Scheel 04/Apr/23 0
        4.
        [Plan] - Schedule Plan Presentation to Chairs Specification Acceptance Criteria Done Unassigned 03/May/23 0
        5.
        [Plan] - Present Plan to Chairs Specification Acceptance Criteria Done Unassigned 10/May/23 0
        6.
        [Plan] - Chairs Approval Approval Approved Jeff Scheel 10/May/23 0
        7.
        [Plan] - Notify TSC Specification Acceptance Criteria Done Unassigned 18/May/23 0
        8.
        [Development] - Develop Specification Specification Acceptance Criteria Done Unassigned 15/Jun/23 0
        9.
        [Development] - Governing Committee Specification Stabilization Approval Approval Approval Not Required Unassigned 21/Jun/23 0
        10.
        [Freeze] - Request Internal Review Freeze Acceptance Criteria Done Unassigned 13/May/23 1
        11.
        [Freeze] - Complete Documentation of New Instructions, State Changes, and ISA Alterations Freeze Acceptance Criteria Done Unassigned 25/May/23 0
        12.
        [Freeze] - Develop Opcode Support Freeze Acceptance Criteria Done Unassigned 15/May/23 1
        13.
        [Freeze] - Implement Simulator Support Freeze Acceptance Criteria Done Unassigned 01/Sep/23 2
        14.
        [Freeze] - Implement psABI Freeze Acceptance Criteria Not Required to Freeze Unassigned 01/Sep/23 0
        15.
        [Freeze] - Develop Support for GCC Freeze Acceptance Criteria Done Unassigned 01/Sep/23 2
        16.
        [Freeze] - Develop RISC-V Tests Freeze Acceptance Criteria Done Unassigned 01/Sep/23 1
        17.
        [Freeze] - Perform Input Testing Freeze Acceptance Criteria Done Unassigned 01/Sep/23 1
        18.
        [Freeze] - Integrate Support into the Sail Golden Model Freeze Acceptance Criteria Done Unassigned 01/Sep/23 1
        19.
        [Freeze] - Create Proof of Concept Freeze Acceptance Criteria Done Unassigned 01/Sep/23 1
        20.
        [Freeze] - ARC Review (required) ARC Review AR Approved Jeff Scheel 01/Sep/23 2
        21.
        [Freeze] - Ensure Compliance with RISC-V Specification Policies Approval Approved Jeff Scheel 01/Sep/23 2
        22.
        [Freeze] - Request Signoffs from Committee Chair Approval Approved Jeff Scheel 01/Sep/23 2
        23.
        [Freeze] - Request Signoff from RISC-V CTO Approval Approved Jeff Scheel 01/Sep/23 1
        24.
        [Ratification-Ready] - Public Review Public Review Public Review Done Jeff Scheel 08/Oct/23 2
        25.
        [Ratification-Ready] - Resolve Freeze Waivers Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        26.
        [Ratification-Ready] - Document Complete Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        27.
        [Ratification-Ready] - Unified Discovery Ratification-Ready Acceptance Criteria Ratification-Ready Waiver Granted Unassigned 15/Sep/23 4
        28.
        [Ratification-Ready] - Regression Testing Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        29.
        [Ratification-Ready] - Architectural Compatibility Tests Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        30.
        [Ratification-Ready] - Industry Standard Tests Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        31.
        [Ratification-Ready] - OS Enablement Ratification-Ready Acceptance Criteria Done Unassigned 15/Sep/23 1
        32.
        [Ratification-Ready] - GitHub Structure Ratification-Ready Acceptance Criteria Done Jeff Scheel 15/Sep/23 1
        33.
        [Ratification-Ready] - AR Review ARC Review AR Review Not Required Unassigned 15/Sep/23 2
        34.
        [Ratification-Ready] - Profiles Ratification-Ready Acceptance Criteria Done Jeff Scheel 15/Sep/23 1
        35.
        [Ratification-Ready] - Ensure Compliance with RISC-V Specification Policies Approval Approved Jeff Scheel 15/Sep/23 1
        36.
        [Ratification-Ready] - Committee Chair Signoffs Approval Approved Jeff Scheel 15/Sep/23 1
        37.
        [Ratification-Ready] - CTO Signoff Approval Approved Jeff Scheel 15/Sep/23 1
        38.
        [Ratification-Ready] - TSC Approval Approval Approved Jeff Scheel 19/Sep/23 3
        39.
        [Ratification-Ready] - Schedule BoD Review Specification Acceptance Criteria Done Jeff Scheel 15/Sep/23 1
        40.
        [Ratification-Ready] - BoD Approval BoD Approval Approved Rafael Sene 15/Sep/23 0

            Unassigned Unassigned
            jscheel Jeff Scheel
            Vedvyas Shanbhogue Vedvyas Shanbhogue
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: