跳到主要内容
页面框架已切换为简体中文。尚未完成本地化的交互标签暂时使用英文;ASL/NDF 源、稳定标识和证据在所有语言中保持原文。

PTO-SCALAR-MODEL-AGU-ADDRESSING

PTO-SCALAR-MODEL-AGU-ADDRESSING

ASL 伪代码

下面直接显示完整的 ASL 所有者。

// PTO-UNIT: {"id":"PTO-SCALAR-MODEL-AGU-ADDRESSING","surface":"scalar","classification":["model","agu","addressing"],"depends_on":["PTO-SCALAR-MODEL-AGU-MEMORY"]}// PTO-REQ-SCALAR-ADDRESS-001, PTO-REQ-MEMORY-COMPLETION-001: scalar addressing,// pair preflight, and fault-suppressed register writeback.
pure func EffectiveAddress(base: Word, offset: Word, mode: AddressUpdateMode) => Wordbegin    if mode == AddressUpdate_PostIndex then return base;    else return base + offset;    end;end;
func ExecuteScalarLoad(destination: GPRIndex, base_register: GPRIndex,                       offset: Word, size_bytes: integer {1,2,4,8},                       signed_load: boolean, mode: AddressUpdateMode)begin    let base = ReadGPR(base_register);    let address = EffectiveAddress(base, offset, mode);    let value = if signed_load then LoadSigned(address, size_bytes)                else LoadUnsigned(address, size_bytes);    if _LastFault == Fault_None then        WriteGPR(destination, value);        if mode == AddressUpdate_PreIndex || mode == AddressUpdate_PostIndex then            WriteGPR(base_register, base + offset);        end;    end;end;
func ExecuteScalarStore(source: GPRIndex, base_register: GPRIndex,                        offset: Word, size_bytes: integer {1,2,4,8},                        mode: AddressUpdateMode)begin    let base = ReadGPR(base_register);    let address = EffectiveAddress(base, offset, mode);    Store(address, size_bytes, ReadGPR(source));    if _LastFault == Fault_None &&       (mode == AddressUpdate_PreIndex || mode == AddressUpdate_PostIndex) then        WriteGPR(base_register, base + offset);    end;end;
func ExecuteScalarLoadPair(destination_low: GPRIndex, destination_high: GPRIndex,                           base_register: GPRIndex, offset: Word,                           size_bytes: integer {1,2,4,8}, signed_load: boolean)begin    let base = ReadGPR(base_register);    let address = base + offset;    let second_address = address + NaturalToWord(size_bytes as integer {0..262144});    let low_probe = ProbeDataAccess(address, size_bytes, size_bytes, FALSE);    if RaiseDataAccessFault(low_probe, address) then return; end;    let high_probe = ProbeDataAccess(        second_address, size_bytes, size_bytes, FALSE);    if RaiseDataAccessFault(high_probe, second_address) then return; end;    let low_raw = LoadTranslatedUnsigned(low_probe.translated_address, size_bytes);    let high_raw = LoadTranslatedUnsigned(high_probe.translated_address, size_bytes);    let low = NormalizeLoadedValue(low_raw, size_bytes, signed_load);    let high = NormalizeLoadedValue(high_raw, size_bytes, signed_load);    RecordLoadEvent(low_probe.translated_address, size_bytes,        low_raw, MemoryOrder_Relaxed);    RecordLoadEvent(high_probe.translated_address, size_bytes,        high_raw, MemoryOrder_Relaxed);    WriteGPR(destination_low, low);    WriteGPR(destination_high, high);end;
func ExecuteScalarStorePair(source_low: GPRIndex, source_high: GPRIndex,                            base_register: GPRIndex, offset: Word,                            size_bytes: integer {1,2,4,8})begin    let base = ReadGPR(base_register);    let address = base + offset;    let second_address = address + NaturalToWord(size_bytes as integer {0..262144});    let low_probe = ProbeDataAccess(address, size_bytes, size_bytes, TRUE);    if RaiseDataAccessFault(low_probe, address) then return; end;    let high_probe = ProbeDataAccess(        second_address, size_bytes, size_bytes, TRUE);    if RaiseDataAccessFault(high_probe, second_address) then return; end;    let low = ReadGPR(source_low);    let high = ReadGPR(source_high);    StoreTranslated(address, low_probe.translated_address, size_bytes, low);    RecordStoreEvent(low_probe.translated_address, size_bytes, low,        MemoryOrder_Relaxed);    StoreTranslated(second_address, high_probe.translated_address,        size_bytes, high);    RecordStoreEvent(high_probe.translated_address, size_bytes, high,        MemoryOrder_Relaxed);end;
pure func ScalarPrefetchAddress(base: Word, offset: Word) => Wordbegin    return base + offset;end;
func ScalarPrefetch(base: Word, offset: Word, size_bytes: integer {1,2,4,8},                    model: bits(5))begin    // Decode admits only the assigned L1/L2/L3 model values before sources are    // read. Address formation is explicit, but no translation, permission    // check, event, or memory effect is architecturally observed.    - = ScalarPrefetchAddress(base, offset);end;

架构行为

该内部模型单元不在双语读者指南迁移范围内;请直接阅读本页的 ASL/NDF 所有者与验证证据。

NDF 条款

正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。

No NDF clause is attached to this unit.

Evidence index

7 matching entries

Executable evidence2
  • PTO-SCALAR-MODEL-AGU-ADDRESSING compiles as an independent normative unit
    1. surfaceSCALAR
    2. ownerPTO-SCALAR-MODEL-AGU-ADDRESSING
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-SCALAR-MODEL-AGU-ADDRESSING-STATIC-001
    Path
    tests/asl/scalar/model/agu/addressing/scalar-static-addressing-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    5b720c104d678e877e0cfefba90a05401c4f4891457160925e2c3d9c0ea6f69a
    Open exact source ↗ for PTO-AVS-SCALAR-MODEL-AGU-ADDRESSING-STATIC-001
  • Covers Scalar AGU Dispatch Effects.
    1. surfaceSCALAR
    2. ownerPTO-SCALAR-MODEL-AGU-ADDRESSING
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-SCALAR-TESTSCALARAGUDISPATCHEFFECTS-EXECUTION-001
    Path
    tests/asl/scalar/model/agu/addressing/scalar-exec-agu-dispatch-effects-001.asl
    Kind / role
    execution
    Pass condition
    TestScalarAGUDispatchEffects completes without assertion failure
    SHA-256
    cbcb6f4f3a04789872993a6f8d486bf311a596d9d17738809953622d7e36979d
    Open exact source ↗ for PTO-AVS-SCALAR-TESTSCALARAGUDISPATCHEFFECTS-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

Unit metadata

Open 4 generated metadata fields
id
PTO-SCALAR-MODEL-AGU-ADDRESSING
surface
scalar
classification
[
  "model",
  "agu",
  "addressing"
]
depends_on
[
  "PTO-SCALAR-MODEL-AGU-MEMORY"
]
Open generated traceability record
{
  "classification": [
    "model",
    "agu",
    "addressing"
  ],
  "documentation": "docs/scalar/model/agu/addressing.md",
  "id": "PTO-SCALAR-MODEL-AGU-ADDRESSING",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [
    "PTO-AVS-SCALAR-TESTSCALARAGUDISPATCHEFFECTS-EXECUTION-001"
  ],
  "source": "asl/scalar/model/agu/addressing.asl",
  "surface": "scalar",
  "tests": [
    "PTO-AVS-SCALAR-MODEL-AGU-ADDRESSING-STATIC-001",
    "PTO-AVS-SCALAR-TESTSCALARAGUDISPATCHEFFECTS-EXECUTION-001"
  ]
}

来源与发布信息

展开 commit、路径、hash、版本和规范所有者
发布
0.58.5 · 候选发布
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
2b99385665915f8f3ef589e60f4654296b8ba1f0fc64db9896909c8cea6884ed
生成文档
docs/scalar/model/agu/addressing.md · 已融合到当前页面
文档 SHA-256
915e21e8abe9381fc7950bb8b0e521f86bf1e5837665e03507aa1f0f665f25cb

精确所有者