Skip to main content

PTO-ARCH-SYSTEM-REGISTERS-TIMER

PTO-ARCH-SYSTEM-REGISTERS-TIMER

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-SYSTEM-REGISTERS-TIMER","surface":"arch","classification":["system-registers","timer"],"depends_on":["PTO-ARCH-SYSTEM-REGISTERS-CONTEXT"]}pure func TimerInterruptId(ring: AccessControlRing) => InterruptIDbegin    return if ring == 0 then 1 else 3;end;
func RefreshTimerPending(ring: AccessControlRing)begin    let comparison = _ExtendedSystemRegisters[[        ContextRegisterIndex(ring, 0x0f21)]];    let interrupt_id = TimerInterruptId(ring);    if comparison != Zeros{PTO_XLEN} &&       UInt(_SystemRegisters.cycle) >= UInt(comparison) then        SetInterruptPending(ring, interrupt_id);    else        ClearInterruptPending(ring, interrupt_id);    end;end;

Architecture behavior

purpose scope

Purpose and scope

This unit defines the per-ACR timer interrupt ID and the rule that derives timer-pending state from the cycle counter and comparison register.

concepts state

Timer identifiers and comparison value

TimerInterruptId returns interrupt ID 1 for ACR0 and interrupt ID 3 for every other ACR.

RefreshTimerPending reads the comparison value from context-register low index 0x0f21 and compares it with _SystemRegisters.cycle as unsigned values.

rules interactions

Pending-state rule

The timer interrupt is set pending when the comparison value is nonzero and the cycle value is greater than or equal to it. Otherwise the timer interrupt is cleared.

The update uses SetInterruptPending or ClearInterruptPending, so it also refreshes the top-pending interrupt value.

boundaries

Architectural boundaries

A zero comparison value disables timer-pending assertion even when the cycle value is zero or greater. This owner does not increment the cycle counter or define when timer refresh is invoked beyond calls to RefreshTimerPending.

example usage

illustrative threshold example

On a timer refresh for ACR0 with comparison 100, cycles 99 and below leave interrupt ID 1 clear. Cycle 100 and later set ID 1 until the comparison becomes zero or moves above the current cycle.

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

12 matching entries

Executable evidence2
  • PTO-ARCH-SYSTEM-REGISTERS-TIMER compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-SYSTEM-REGISTERS-TIMER
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-STATIC-001
    Path
    tests/asl/arch/system-registers/timer/arch-static-timer-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    b84ab7ae6eb6e6b83e7d18f5db0b9188562f1527b78dfbda7dfdd41dfd238770
    Open exact source ↗ for PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-STATIC-001
  • timer refresh uses the per-ring interrupt ID and a nonzero inclusive cycle threshold
    1. surfaceARCH
    2. ownerPTO-ARCH-SYSTEM-REGISTERS-TIMER
    3. categorySTATE-TRANSITION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-THRESHOLD-001
    Path
    tests/asl/arch/system-registers/timer/arch-state-timer-threshold-001.asl
    Kind / role
    state-transition
    Pass condition
    zero and unmet comparisons clear pending while equality sets the correct per-ring timer interrupt
    SHA-256
    f8563376ee4683301ae6c5448dda2e3b550a2632cf6a1992c98401c5c4248609
    Open exact source ↗ for PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-THRESHOLD-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 history5
  • Use PTO-owned system-register names · accepted
    1. decision recordADR
    2. case0003

    Decision record

    Loading ADR-0003…

    Sources and references
    Complete stable ID
    ADR-0003
    Path
    docs/status/decisions/0003-pto-owned-system-register-names.md
    Affected units
    PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER, PTO-SCALAR-C-SSRGET, PTO-SCALAR-HL-SSRGET, PTO-SCALAR-HL-SSRSET, PTO-SCALAR-SSRGET, PTO-SCALAR-SSRSET, PTO-SCALAR-SSRSWAP
    Affected NDF
    PTO-C-SSRGET-DIRECT-IDS-001, PTO-HL-SSRGET-DECISION-BINDING-001, PTO-HL-SSRSET-DECISION-BINDING-001, PTO-SSRGET-ADR-CONTRACT-001, PTO-SSRSET-ADR-CONTRACT-001, PTO-SSRSWAP-ADR-CONTRACT-001
    SHA-256
    c6a5379776c3b29c25f0896bc56f84d8f5c15832bbba0859b822aa99a65e342d
    Open exact decision source ↗ for ADR-0003
  • PTO v0 ACR routing and context reset · accepted
    1. decision recordADR
    2. case0010

    Decision record

    Loading ADR-0010…

    Sources and references
    Complete stable ID
    ADR-0010
    Path
    docs/status/decisions/0010-acr-routing-and-context-reset.md
    Affected units
    PTO-ARCH-PROFILE-RESET, PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER
    Affected NDF
    PTO-REQ-STATE-001
    SHA-256
    7594432a33c54880227fa3ab495bf5b29d406ac3b4e83634ffefe0a713e85f35
    Open exact decision source ↗ for ADR-0010
  • Define interrupt pending and timer state · accepted
    1. decision recordADR
    2. case0016

    Decision record

    Loading ADR-0016…

    Sources and references
    Complete stable ID
    ADR-0016
    Path
    docs/status/decisions/0016-interrupt-pending-and-timer-state.md
    Affected units
    PTO-ARCH-OVERVIEW-ARCHITECTURE, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-TIMER
    Affected NDF
    PTO-ARCH-COMMIT-EVENT-CONFORMANCE-001, PTO-ARCH-STATE-CLOSURE-001, PTO-RELEASE-VERIFICATION, PTO-SOURCE-HIERARCHY, PTO-TILE-CAPACITY-PER-PE
    SHA-256
    d864e76e1cd097d55d05e36cc28adc756a2b2cc46df5720a6f6afa5b3f9b9fe0
    Open exact decision source ↗ for ADR-0016
  • Classify every visible system register behavior · accepted
    1. decision recordADR
    2. case0017

    Decision record

    Loading ADR-0017…

    Sources and references
    Complete stable ID
    ADR-0017
    Path
    docs/status/decisions/0017-system-register-behavior-classes.md
    Affected units
    PTO-ARCH-OVERVIEW-ARCHITECTURE, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER
    Affected NDF
    PTO-ARCH-COMMIT-EVENT-CONFORMANCE-001, PTO-ARCH-STATE-CLOSURE-001, PTO-RELEASE-VERIFICATION, PTO-SOURCE-HIERARCHY, PTO-TILE-CAPACITY-PER-PE
    SHA-256
    6b4f7a29546952e4c5c61b0f4f921b04ecbc8340ba4ad86619277f17da97f95f
    Open exact decision source ↗ for ADR-0017
  • Scalar SYS totality and PTO-v0 profile boundaries · accepted
    1. decision recordADR
    2. case0031

    Decision record

    Loading ADR-0031…

    Sources and references
    Complete stable ID
    ADR-0031
    Path
    docs/status/decisions/0031-scalar-sys-totality-and-profile-boundaries.md
    Affected units
    PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER, PTO-SCALAR-ACRC, PTO-SCALAR-ACRE, PTO-SCALAR-ASSERT, PTO-SCALAR-BC-IALL, PTO-SCALAR-BC-IVA, PTO-SCALAR-BSE, PTO-SCALAR-BWE, PTO-SCALAR-BWI, PTO-SCALAR-BWT, PTO-SCALAR-C-EBREAK, PTO-SCALAR-C-SSRGET, PTO-SCALAR-DC-CISW, PTO-SCALAR-DC-CIVA, PTO-SCALAR-DC-CSW, PTO-SCALAR-DC-CVA, PTO-SCALAR-DC-IALL, PTO-SCALAR-DC-ISW, PTO-SCALAR-DC-IVA, PTO-SCALAR-DC-ZVA, PTO-SCALAR-EBREAK, PTO-SCALAR-FENCE-D, PTO-SCALAR-FENCE-I, PTO-SCALAR-HL-SSRGET, PTO-SCALAR-HL-SSRSET, PTO-SCALAR-IC-IALL, PTO-SCALAR-IC-IVA, PTO-SCALAR-LSRGET, PTO-SCALAR-SETC-TGT, PTO-SCALAR-SSRGET, PTO-SCALAR-SSRSET, PTO-SCALAR-SSRSWAP, PTO-SCALAR-TLB-IA, PTO-SCALAR-TLB-IALL, PTO-SCALAR-TLB-IAV, PTO-SCALAR-TLB-IV
    Affected NDF
    PTO-ACRC-DECISION-BINDING-001, PTO-ACRE-IMPLICIT-STOP-001, PTO-BSE-DECISION-BINDING-001, PTO-BWE-DECISION-BINDING-001, PTO-BWI-DECISION-BINDING-001, PTO-BWT-DECISION-BINDING-001, PTO-C-EBREAK-CAUSE-001, PTO-C-SSRGET-DIRECT-IDS-001, PTO-EBREAK-DECISION-BINDING-001, PTO-FENCE-D-DECISION-BINDING-001, PTO-FENCE-I-DECISION-BINDING-001, PTO-HL-SSRGET-DECISION-BINDING-001, PTO-HL-SSRSET-DECISION-BINDING-001, PTO-LSRGET-BARG-001, PTO-SETC-TGT-ADR-CONTRACT-001, PTO-SSRGET-ADR-CONTRACT-001, PTO-SSRSET-ADR-CONTRACT-001, PTO-SSRSWAP-ADR-CONTRACT-001, PTO-TLB-IA-ADR-CONTRACT-001, PTO-TLB-IALL-ADR-CONTRACT-001, PTO-TLB-IAV-ADR-CONTRACT-001, PTO-TLB-IV-ADR-CONTRACT-001
    SHA-256
    5680b3516be6c28a1ccb198c99f5efb66317c65330f6d87434173024d2795a7d
    Open exact decision source ↗ for ADR-0031

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-SYSTEM-REGISTERS-TIMER
surface
arch
classification
[
  "system-registers",
  "timer"
]
depends_on
[
  "PTO-ARCH-SYSTEM-REGISTERS-CONTEXT"
]
Open generated traceability record
{
  "classification": [
    "system-registers",
    "timer"
  ],
  "documentation": "docs/arch/system-registers/timer.md",
  "id": "PTO-ARCH-SYSTEM-REGISTERS-TIMER",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0003",
    "ADR-0010",
    "ADR-0016",
    "ADR-0017",
    "ADR-0031"
  ],
  "semantic_tests": [
    "PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-THRESHOLD-001"
  ],
  "source": "asl/arch/system-registers/timer.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-STATIC-001",
    "PTO-AVS-ARCH-SYSTEM-REGISTERS-TIMER-THRESHOLD-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
7f2078b0d6ae745c8ec7369695d5a5ec1225356e2f8e5548c2a179330bf9970d
Generated documentation
docs/arch/system-registers/timer.md · embedded in this page
Documentation SHA-256
eb48e37e29f44151e08c834c373772233db61c33cfb01a560d447f8501578e56

Exact owners