PTO-SCALAR-MODEL-AGU-ADDRESSING
PTO-SCALAR-MODEL-AGU-ADDRESSINGASL pseudocode
The complete ASL owner is shown directly below.
// 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;
Architecture behavior
This internal model unit is documented through its normative ASL/NDF owners and validation evidence; it has no reader-guide migration target.
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
7 matching entries
Executable evidence2
PTO-SCALAR-MODEL-AGU-ADDRESSING compiles as an independent normative unit
- surfaceSCALAR
- ownerPTO-SCALAR-MODEL-AGU-ADDRESSING
- categorySTATIC-INVARIANT
- 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
Covers Scalar AGU Dispatch Effects.
- surfaceSCALAR
- ownerPTO-SCALAR-MODEL-AGU-ADDRESSING
- categoryEXECUTION
- 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
Commit-scoped evidence5
spec/evidence/release-traceability-readiness.json · closed
PTO-EVIDENCE-RELEASE-TRACEABILITYSources 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
spec/evidence/instruction-contract-closure.json · closed
PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURESources 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
spec/evidence/architecture-readiness.json · open
PTO-EVIDENCE-ARCHITECTURE-READINESSSources and references
- Complete stable ID
PTO-EVIDENCE-ARCHITECTURE-READINESS- Path
spec/evidence/architecture-readiness.json- Kind / role
- architecture maturity and blockers
- SHA-256
4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
spec/evidence/release-gate-readiness.json · ready-for-exact-head-verification
PTO-EVIDENCE-RELEASE-GATE-READINESSSources 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
spec/release-manifest.json · draft
PTO-EVIDENCE-RELEASE-MANIFESTSources and references
- Complete stable ID
PTO-EVIDENCE-RELEASE-MANIFEST- Path
spec/release-manifest.json- Kind / role
- release content and encoding fingerprints
- SHA-256
1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
Unit metadata
Open 4 generated metadata fields
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"
]
}Sources and release identity
Show commit, paths, hashes, version, and canonical owners
- Release
0.58.5· Release candidate- Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812- Original ASL
- asl/scalar/model/agu/addressing.asl
- ASL SHA-256
2b99385665915f8f3ef589e60f4654296b8ba1f0fc64db9896909c8cea6884ed- Generated documentation
- docs/scalar/model/agu/addressing.md · embedded in this page
- Documentation SHA-256
915e21e8abe9381fc7950bb8b0e521f86bf1e5837665e03507aa1f0f665f25cb
Exact owners
- ASL PTO-SCALAR-MODEL-AGU-ADDRESSING
asl/scalar/model/agu/addressing.asl