Skip to main content

PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS

PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS","surface":"arch","classification":["programming-model","predicate-registers"],"depends_on":["PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT"]}readonly func ReadPredicateRegister(index: PredicateIndex) => PredicateWordbegin    return if index == 0 then Ones{PTO_PREDICATE_WIDTH}           else _PredicateRegisters[[index]];end;
func WritePredicateRegister(index: PredicateIndex, value: PredicateWord)begin    if index != 0 then        _PredicateRegisters[[index]] = value;    end;end;
pure func PredicateRegisterHasInstructionConsumer(index: PredicateIndex)        => booleanbegin    // PTO has no instruction encoding that consumes P0..P7.    return FALSE;end;

Architecture behavior

purpose scope

Purpose and scope

This unit defines the read and write behavior of the predicate-register state and records whether any current instruction encoding consumes P0 through P7.

concepts state

Predicate-register view

ReadPredicateRegister returns all ones for predicate register index 0. Other indices read their stored element from _PredicateRegisters.

WritePredicateRegister stores a value only when the index is not 0.

rules interactions

Constant predicate and consumers

Together, the read and write rules make P0 a constant all-ones predicate: writing P0 has no state effect, and reading it does not depend on the backing array.

PredicateRegisterHasInstructionConsumer returns FALSE for every predicate index because the current PTO instruction encoding has no consumer for P0 through P7.

boundaries

Architectural boundaries

The absence of an instruction consumer is an encoding statement in this owner. The consumer query does not change the read and write behavior defined by ReadPredicateRegister and WritePredicateRegister.

example usage

illustrative state example

If a test writes a nonzero pattern to P0 and then reads P0, the read still produces an all-ones PredicateWord. The same write to P1 is stored and can be read back from P1.

Related owners

  • Execution context owns the predicate backing state used here.
  • Trap context saves and restores the predicate array as part of portable trap context.
  • Core PE topology declares the predicate-register count and width used by this unit.

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

11 matching entries

Executable evidence2
  • PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS-STATIC-001
    Path
    tests/asl/arch/programming-model/predicate-registers/arch-static-predicate-registers-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    1cea82905b03908ba079c7f5864eafdcc5b69b98912e65cc7abf5f3a2748ac4c
    Open exact source ↗ for PTO-AVS-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS-STATIC-001
  • Covers Predicate State Contract.
    1. surfaceARCH
    2. ownerPTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
    3. categorySTATE-TRANSITION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-TESTPREDICATESTATECONTRACT-STATE-TRANSITION-001
    Path
    tests/asl/arch/programming-model/predicate-registers/arch-state-predicate-contract-001.asl
    Kind / role
    state-transition
    Pass condition
    TestPredicateStateContract completes without assertion failure
    SHA-256
    bb0a8726234ed49cf85ca275bf89d1cfcb8382ddeebc2586aebc8e145c8be6b2
    Open exact source ↗ for PTO-AVS-ARCH-TESTPREDICATESTATECONTRACT-STATE-TRANSITION-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 history4
  • 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
  • Define the PTO predicate-register contract · superseded
    1. decision recordADR
    2. case0019

    Decision record

    Loading ADR-0019…

    Sources and references
    Complete stable ID
    ADR-0019
    Path
    docs/status/decisions/0019-predicate-register-contract.md
    Affected units
    PTO-ARCH-OVERVIEW-ENCODING-OWNERSHIP, PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
    Affected NDF
    PTO-ARCH-CONDITIONAL-BRANCH-RESERVATION-001
    SHA-256
    bd4ea338a30ff01ae34a273c900d74685b338e686ec3cad6438550f7c70ce342
    Open exact decision source ↗ for ADR-0019
  • Separate execution-mask and predicate domains (superseded) · superseded
    1. decision recordADR
    2. case0046

    Decision record

    Loading ADR-0046…

    Sources and references
    Complete stable ID
    ADR-0046
    Path
    docs/status/decisions/0046-separate-execution-mask-and-warp-predicates.md
    Affected units
    PTO-ARCH-OVERVIEW-ENCODING-OWNERSHIP, PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
    Affected NDF
    PTO-ARCH-CONDITIONAL-BRANCH-RESERVATION-001
    SHA-256
    1f66cc380fe9ef77c95539485910ac21c862c0968fcf4fe67be43b3f1472c279
    Open exact decision source ↗ for ADR-0046
  • Predicate state namespace boundary (superseded) · superseded
    1. decision recordADR
    2. case0051

    Decision record

    Loading ADR-0051…

    Sources and references
    Complete stable ID
    ADR-0051
    Path
    docs/status/decisions/0051-predicate-state-namespace-boundary.md
    Affected units
    PTO-ARCH-OVERVIEW-ENCODING-OWNERSHIP, PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
    Affected NDF
    PTO-ARCH-CONDITIONAL-BRANCH-RESERVATION-001
    SHA-256
    f6291cbe4fbe46ae84e59bb0275fa943ce51888229d8dff4ff3347c57159f337
    Open exact decision source ↗ for ADR-0051

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS
surface
arch
classification
[
  "programming-model",
  "predicate-registers"
]
depends_on
[
  "PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT"
]
Open generated traceability record
{
  "classification": [
    "programming-model",
    "predicate-registers"
  ],
  "documentation": "docs/arch/programming-model/predicate-registers.md",
  "id": "PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0008"
  ],
  "semantic_tests": [
    "PTO-AVS-ARCH-TESTPREDICATESTATECONTRACT-STATE-TRANSITION-001"
  ],
  "source": "asl/arch/programming-model/predicate-registers.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS-STATIC-001",
    "PTO-AVS-ARCH-TESTPREDICATESTATECONTRACT-STATE-TRANSITION-001"
  ]
}

Sources and release identity

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

Exact owners