Skip to main content

PTO-ARCH-DATA-TYPES-MEMORY-MODEL

PTO-ARCH-DATA-TYPES-MEMORY-MODEL

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-MEMORY-MODEL","surface":"arch","classification":["data-types","memory-model"],"depends_on":["PTO-BLOCK-MODEL-STATE-TYPES"]}type DataAccessProbe of record {    fault: FaultCode,    translated_address: Word};
type MemoryOrder of enumeration {    MemoryOrder_Relaxed,    MemoryOrder_Acquire,    MemoryOrder_Release,    MemoryOrder_AcquireRelease};
type MemoryAgentId of integer {0..PTO_MODEL_MEMORY_AGENTS-1};type MemoryEventIndex of integer {0..PTO_MODEL_MEMORY_EVENTS-1};type MemoryCoherenceRank of integer {0..PTO_MODEL_MEMORY_EVENTS-1};
type MemoryEventKind of enumeration {    MemoryEvent_InitialWrite,    MemoryEvent_Load,    MemoryEvent_Store,    MemoryEvent_Atomic,    MemoryEvent_Fence};
type MemoryEvent of record {    kind: MemoryEventKind,    agent: MemoryAgentId,    address: Word,    size_bytes: integer {1,2,4,8},    read_value: Word,    write_value: Word,    write_performed: boolean,    order: MemoryOrder,    read_from: MemoryEventIndex,    coherence_rank: MemoryCoherenceRank,    fence_predecessor: bits(4),    fence_successor: bits(4)};
type MemoryRelationMatrix of array [[PTO_MODEL_MEMORY_EVENTS]]    of bits(PTO_MODEL_MEMORY_EVENTS);

Architecture behavior

purpose scope

Purpose and scope

This unit defines the typed records and enumerations used to represent data-access probes, memory orders, memory events, and event relations.

It provides the vocabulary consumed by executable memory owners without itself deciding whether a complete execution is accepted.

concepts state

Concepts and visible state

  • DataAccessProbe pairs a FaultCode with the translated Word address.
  • MemoryOrder distinguishes Relaxed, Acquire, Release, and AcquireRelease; MemoryEventKind distinguishes initial write, load, store, atomic, and fence events.
  • A MemoryEvent records agent, address, size, read and write values, whether a write occurred, order, reads-from index, coherence rank, and fence predecessor/successor masks.
rules interactions

Rules and interactions

Memory event sizes are limited to 1, 2, 4, or 8 bytes.

Agent IDs, event indices, and coherence ranks are bounded by PTO_MODEL_MEMORY_AGENTS and PTO_MODEL_MEMORY_EVENTS.

MemoryRelationMatrix stores one relation row per modeled event as bits(PTO_MODEL_MEMORY_EVENTS).

boundaries

Architectural boundaries

These declarations describe representation, not ordering acceptance. Program order, reads-from validity, coherence, fences, and cycle rejection are owned by the memory-ordering ASL.

PTO_MODEL_MEMORY_EVENTS is a model bound, not a portable maximum event count for hardware.

example usage

illustrative reading example

MemoryEvent_Load entries carry their source in read_from. Events that perform writes carry their coherence_rank; the ordering owner validates both fields in the complete relation set.

When debugging a memory result, inspect the event record first, then follow its indices into the matrices built by the ordering owner.

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

6 matching entries

Executable evidence1
  • PTO-ARCH-DATA-TYPES-MEMORY-MODEL compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-DATA-TYPES-MEMORY-MODEL
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-DATA-TYPES-MEMORY-MODEL-STATIC-001
    Path
    tests/asl/arch/data-types/memory-model/arch-static-memory-model-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    b4828cc364d64df5ae3c3a22ee9dcaa6b6e1daf43106b39f9b4daffd0c697738
    Open exact source ↗ for PTO-AVS-ARCH-DATA-TYPES-MEMORY-MODEL-STATIC-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

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-DATA-TYPES-MEMORY-MODEL
surface
arch
classification
[
  "data-types",
  "memory-model"
]
depends_on
[
  "PTO-BLOCK-MODEL-STATE-TYPES"
]
Open generated traceability record
{
  "classification": [
    "data-types",
    "memory-model"
  ],
  "documentation": "docs/arch/data-types/memory-model.md",
  "id": "PTO-ARCH-DATA-TYPES-MEMORY-MODEL",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [],
  "source": "asl/arch/data-types/memory-model.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-DATA-TYPES-MEMORY-MODEL-STATIC-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
dd4adb80d037bc6e6b9b87dd53b8f4ccf6cda4a4fcd648c2874074d8587312d7
Generated documentation
docs/arch/data-types/memory-model.md · embedded in this page
Documentation SHA-256
e67b1be384ae5c8884c8f32ec78d4ee5bf1870c700570cd95722aa883fcf74c2

Exact owners