Skip to main content

PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS

PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS","surface":"arch","classification":["programming-model","scalar-registers"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT"]}readonly func ReadGPR(index: GPRIndex) => Wordbegin    return ReadPEGPR(_CurrentMemoryAgent, index);end;
readonly func ReadPEGPR(pe: MemoryAgentId, index: GPRIndex) => Wordbegin    if index == 0 then        return Zeros{PTO_XLEN};    else        return _PEGPRs[[pe]][[index]];    end;end;
func WriteGPR(index: GPRIndex, value: Word)begin    WritePEGPR(_CurrentMemoryAgent, index, value);end;
func WritePEGPR(pe: MemoryAgentId, index: GPRIndex, value: Word)begin    if index != 0 then        _PEGPRs[[pe]][[index]] = value;    end;end;

Architecture behavior

purpose scope

Purpose and scope

This unit defines scalar GPR reads and writes for the current memory agent and for an explicitly selected PE.

concepts state

Current-agent and per-PE access

ReadGPR and WriteGPR delegate to ReadPEGPR and WritePEGPR using _CurrentMemoryAgent. The per-PE helpers index _PEGPRs with both the selected memory-agent identity and the GPR index.

rules interactions

Zero-register behavior

GPR index 0 reads as Zeros{PTO_XLEN} for every PE. A write to index 0 has no state effect.

For every nonzero index, reads return the selected _PEGPRs entry and writes replace that same entry with the supplied Word.

boundaries

Architectural boundaries

The current-agent wrappers do not broadcast a write across PEs. They select exactly _CurrentMemoryAgent; explicit cross-PE inspection or update uses the per-PE helpers.

example usage

illustrative aliasing example

Suppose the current memory agent is PE1. Writing a value with WriteGPR to a nonzero index changes PE1's corresponding _PEGPRs element; reading the same index through ReadPEGPR for PE0 is a different state lookup.

Related owners

NDF clauses

Bodies come from owning ASL. Dragging or buttons change only this page-session view order.

No NDF clause is attached to this unit.

Evidence index

10 matching entries

Executable evidence4
  • Each PE resolves one absolute GPR selector against its private register file.
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS
    3. categorySTATE-TRANSITION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001
    Path
    tests/asl/arch/programming-model/scalar-registers/arch-state-programming-model-pe-gpr-001.asl
    Kind / role
    state-transition
    Requirements
    PTO-ARCH-GM-ACCESS-001
    Pass condition
    The same selector can hold four distinct PE values while ReadGPR follows the selected current PE.
    SHA-256
    7c69affbf0458e09198d6a314cc158cfa5348800b1ddd8eae6048b9044c7b91f
    Open exact source ↗ for PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001
  • PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS-STATIC-001
    Path
    tests/asl/arch/programming-model/scalar-registers/arch-static-scalar-registers-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    f82a27988ff3b68a15ed36203916280aa87a0e83fa226efd43ecf94adb3148bc
    Open exact source ↗ for PTO-AVS-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS-STATIC-001
  • Covers Scalar Queue Dispatch.
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-TESTSCALARQUEUEDISPATCH-EXECUTION-001
    Path
    tests/asl/arch/programming-model/scalar-registers/arch-exec-queue-dispatch-001.asl
    Kind / role
    execution
    Pass condition
    TestScalarQueueDispatch completes without assertion failure
    SHA-256
    7a5616e33ee2d0d6c1e236c2c687545e5dccaebcae8dd963a077cba1ba2282e4
    Open exact source ↗ for PTO-AVS-ARCH-TESTSCALARQUEUEDISPATCH-EXECUTION-001
  • Covers Scalar Temporary Queues.
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-TESTSCALARTEMPORARYQUEUES-EXECUTION-001
    Path
    tests/asl/arch/programming-model/scalar-registers/arch-exec-temporary-queues-001.asl
    Kind / role
    execution
    Pass condition
    TestScalarTemporaryQueues completes without assertion failure
    SHA-256
    7cfa876d3353471a75c25a8e0072a513f6b6d92d57528855b82af91c1ffb4b72
    Open exact source ↗ for PTO-AVS-ARCH-TESTSCALARTEMPORARYQUEUES-EXECUTION-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST
Decision history1
  • Define the PTO architectural state contract · accepted
    1. decision recordADR
    2. case0008

    Decision record

    Loading ADR-0008…

    Sources and references
    Complete stable ID
    ADR-0008
    Path
    docs/status/decisions/0008-architectural-state-contract.md
    Affected units
    PTO-ARCH-OVERVIEW-ARCHITECTURE, PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT, PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-SHARED-TILE-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-TILE-REGISTERS, PTO-ARCH-STATE-DEFINEDNESS, PTO-ARCH-STATE-PROGRAM-COUNTER, PTO-ARCH-STATE-TILE-DESCRIPTOR, PTO-ARCH-STATE-TRAP-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-BLOCK-B-IOR, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-MODEL-STATE-BINDING-STATE, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-TILE-MODEL-STATE-LOCAL-REGISTERS
    Affected NDF
    PTO-ARCH-STATE-CLOSURE-001, PTO-REQ-BUNDLE-STATE-001, PTO-REQ-SHARED-TILE-001, PTO-REQ-STATE-001, PTO-REQ-TILE-001, PTO-TILE-CAPACITY-PER-PE
    SHA-256
    9c33e1b57d0f04c4d808ee61aaf975187a3dbd32a071329ca65a916dc0e614ca
    Open exact decision source ↗ for ADR-0008

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS
surface
arch
classification
[
  "programming-model",
  "scalar-registers"
]
depends_on
[
  "PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT"
]
Open generated traceability record
{
  "classification": [
    "programming-model",
    "scalar-registers"
  ],
  "documentation": "docs/arch/programming-model/scalar-registers.md",
  "id": "PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0008"
  ],
  "semantic_tests": [
    "PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001",
    "PTO-AVS-ARCH-TESTSCALARQUEUEDISPATCH-EXECUTION-001",
    "PTO-AVS-ARCH-TESTSCALARTEMPORARYQUEUES-EXECUTION-001"
  ],
  "source": "asl/arch/programming-model/scalar-registers.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-PROGRAMMING-MODEL-PE-GPR-STATE-001",
    "PTO-AVS-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS-STATIC-001",
    "PTO-AVS-ARCH-TESTSCALARQUEUEDISPATCH-EXECUTION-001",
    "PTO-AVS-ARCH-TESTSCALARTEMPORARYQUEUES-EXECUTION-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
76b63e6e3f5109fe6143d8c337b3d95738ecdadca6501693e2b744801d9fdc63
Generated documentation
docs/arch/programming-model/scalar-registers.md · embedded in this page
Documentation SHA-256
b22e523be9f71b031902861371b1922c45a76607e6c664e5dff9a1f634172900

Exact owners