Operands and parameters
DataType- prefetched element data type
B.IOR.RegSrc0- each PE's private-GPR GM base
B.IOR.RegSrc1- each PE's private-GPR logical row stride in elements
B.DIM.LB0- ValidCol
B.DIM.LB1- ValidRow
B.DIM.LB2- physical Col
Prefetches one typed, strided GM rectangle for each of the four PEs without a Tile destination.
PTO-BLOCK-BSTART-TPREFETCHBSTART.TPREFETCH DataType| Field | Bits | Signedness | Architectural role | Encoded zero |
|---|---|---|---|---|
DataType | 5 | encoding-defined | prefetched element data type | Encoded zero selects FP64. |
B.IOR.RegSrc0 | — | — | each PE's private-GPR GM base | — |
B.IOR.RegSrc1 | — | — | each PE's private-GPR logical row stride in elements | — |
B.DIM.LB0 | — | — | ValidCol | — |
B.DIM.LB1 | — | — | ValidRow | — |
B.DIM.LB2 | — | — | physical Col | — |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| DataType | 31:27 | variable |
| Constant | 26:0 | 27'b000001100010001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b000001100010001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TPREFETCH DataType
DataTypeB.IOR.RegSrc0B.IOR.RegSrc1B.DIM.LB0B.DIM.LB1B.DIM.LB2Decode and Operation come directly from the instruction owner and remain separated by execution phase.
readonly func InstructionContractMatches_BSTART_TPREFETCH(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_tprefetch_32_d5f83e5aadf6);end;readonly func InstructionContractHandler_BSTART_TPREFETCH() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractStartedTileOperation_BSTART_TPREFETCH() => TileOperationbegin return TileOperation_TPREFETCH;end;
pure func InstructionContractStartsTileBundle_BSTART_TPREFETCH() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TPREFETCH DataType"],"block":[],"catalog_indices":[49],"catalog_records":[{"asm":"BSTART.TPREFETCH DataType","constraints":[{"field":"DataType","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,24,25,26,27,28]}],"encoding":[{"index":0,"mask":"0x07ffffff","match":"0x00311181","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"DataType","pieces":[{"instruction_lsb":27,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5}],"form_id":"bstart_tprefetch_32_d5f83e5aadf6","length_bits":32,"mnemonic":"BSTART.TPREFETCH","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts a destination-free, four-PE TLSU prefetch block with an explicit element data type.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TPREFETCH DataType; optional B.DATR Layout; optional B.DIM LB0/ValidCol, LB1/ValidRow, LB2/Col; optional B.IOR base,row_stride; BSTOP","B.IOT and B.IOS are not members of a TPREFETCH block."],"canonical_assembly":["BSTART.TPREFETCH DataType"],"defaults":["DataType is explicit and B.DATR omission selects NORM layout.","Omitted LB0 and LB1 each default to one; omitted LB2 defaults to resolved ValidCol.","Omitted B.IOR supplies base zero and row stride equal to resolved Col independently for every PE. Explicit zero selectors read the architectural zero GPR and therefore supply actual zero values."],"encoding_class":"standalone-encoded","examples":["BSTART.TPREFETCH FP16; B.DIM zero, 64, ->LB0; B.DIM zero, 4, ->LB1; B.DIM zero, 64, ->LB2; B.IOR zero, a0; BSTOP"],"exceptions":["Reserved DataType, unsupported Layout, explicit zero or out-of-range dimensions, non-power-of-two Col, malformed B.IOR, any B.IOT/B.IOS, or any participating-PE memory fault rejects before the first request or memory event.","A memory fault is precise for the complete four-PE block and recovery reissues the complete combined footprint."],"field_contracts":{"DataType":{"ref":"PTO-FIELD-BLOCK-DATATYPE"}},"field_zero_meanings":{"DataType":"Encoded zero selects FP64."},"legality":["bstart_tprefetch_32_d5f83e5aadf6.DataType accepts only 0..14, 16..20, 24..28; all other encodings are reserved.","TPREFETCH has implicit PE participation 1111 and no Local or Shared Tile binding.","ValidCol and ValidRow are positive, Col is a nonzero power of two, and ValidCol does not exceed Col."],"memory_effects":["For every PE and every element in ValidRow x ValidCol, access GM at base + ((row * row_stride_elements + column) * element_size), with packed four-bit types using the same logical-element byte addressing as TLOAD.","The operation produces the same typed-element load-event decomposition as TLOAD but allocates and writes no destination Tile. Cache level, placement, and retention are not architectural results."],"operands":[{"field":"DataType","role":"prefetched element data type"},{"field":"B.IOR.RegSrc0","role":"each PE's private-GPR GM base"},{"field":"B.IOR.RegSrc1","role":"each PE's private-GPR logical row stride in elements"},{"field":"B.DIM.LB0","role":"ValidCol"},{"field":"B.DIM.LB1","role":"ValidRow"},{"field":"B.DIM.LB2","role":"physical Col"}],"ordering":["The four PE footprints are one combined preflighted block attempt; no request or event becomes effective until every address, translation, permission, and access check succeeds.","All successful accesses participate in PTO-TSO using the block aq/rl attributes exactly as TLOAD."],"standalone_opcode":true,"state_effects":["Starts a destination-free TLSU block whose successful architectural effects are limited to its defined typed memory accesses and ordering events.","No Tile or Shared descriptor, allocation, payload, definedness, publication, or lifetime state changes."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-TPREFETCH","mnemonic":"BSTART.TPREFETCH","summary":"Prefetches one typed, strided GM rectangle for each of the four PEs without a Tile destination.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-BSTART-TPREFETCH-MEMORY-001// ndf: kind=contract level=L1 layer=block status=accepted// TPREFETCH MUST preflight the complete typed, strided footprint of all four// PEs before effects and MUST use the same load-event decomposition, ordering,// fault, and restart rules as destination-producing TLOAD.// NDF-END: PTO-BSTART-TPREFETCH-MEMORY-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TPREFETCH(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_tprefetch_32_d5f83e5aadf6);end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BSTART_TPREFETCH() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractStartedTileOperation_BSTART_TPREFETCH() => TileOperationbegin return TileOperation_TPREFETCH;end;
pure func InstructionContractStartsTileBundle_BSTART_TPREFETCH() => booleanbegin return TRUE;end;// DOC-END: operation
BSTART.TPREFETCH opens an active Block descriptor; the body supplies the attributes and bindings required before completion.
BSTART.TPREFETCH must appear as the starter of its Block. Later attributes, dimensions, and bindings accumulate in the active descriptor until BSTOP or the next accepted BSTART completion boundary.
The accepted carrier uses the L32 encoding class and resolves every displayed field before the command reads bindings or changes state.
At completion, the descriptor runs its selected Block operation only after all schema and state preflight succeeds.
DataType — prefetched element data type; B.IOR.RegSrc0 — each PE's private-GPR GM base; B.IOR.RegSrc1 — each PE's private-GPR logical row stride in elements; B.DIM.LB0 — ValidCol; B.DIM.LB1 — ValidRow; B.DIM.LB2 — physical Col.B.DATR, B.DIM, and B.IOR; B.IOT and B.IOS are forbidden because TPREFETCH has no Tile or Shared binding or destination.Starting the Block records the selected carrier and leaves operation execution deferred until the completion boundary.
After complete preflight and computation, every enabled output publishes as the owner-defined atomic group; successful mathematical sources remain available unless the contract explicitly consumes them.
Fixed bits, reserved values, selector domains, and required Block placement are checked before architectural effects.
The current owner reports invalid schema, state, address, or continuation conditions through the owner-defined fault; no prose on this page creates an additional fault rule.
Complete schema, binding, readiness, alias, capacity, and allocation preflight precedes source snapshots and every destination publication.
This example demonstrates placement and carrier flow only; exact behavior remains in the current ASL and instruction contract.
BSTART.TPREFETCH FP16; B.DIM zero, 64, ->LB0; B.DIM zero, 4, ->LB1; B.DIM zero, 64, ->LB2; B.IOR zero, a0; BSTOPThe starter establishes the descriptor first; the following carriers fill its declared schema, and the final completion boundary triggers validation and operation execution.
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
TPREFETCH MUST preflight the complete typed, strided footprint of all four PEs before effects and MUST use the same load-event decomposition, ordering, fault, and restart rules as destination-producing TLOAD.
PTO-BSTART-TPREFETCH-MEMORY-001asl/block/execution/BSTART.TPREFETCH.aslc8c57ca48a101a23ed51a8c22d9b126690814b0f95096c4aa5519bb1439f74a9bc61ddce371c7758505d4c9fa0bb017da35c8b535e3b85d3189d13513f81427a19 matching entries
PTO-AVS-BLOCK-BSTART-TPREFETCH-DECODE-001tests/asl/block/execution/BSTART.TPREFETCH/block-decode-bstart-tprefetch-canonical-001.asl3d05bf3763f39b1c0170f8c571e746fd396aebae13b32ecd517f027f5e452fbePTO-AVS-BLOCK-TPREFETCH-DEFAULTS-001tests/asl/block/execution/BSTART.TPREFETCH/block-bound-bstart-tprefetch-defaults-001.asl24f34fcfaeb4ba168bc992690d85df12f8c421cb61e6cb4fd62eacdef29f14f0PTO-AVS-BLOCK-TPREFETCH-FAULT-001tests/asl/block/execution/BSTART.TPREFETCH/block-fault-bstart-tprefetch-range-preflight-001.aslc3941e63962c2afea6609731b441cc6606ae1b745b7feeb06e1597e578c64982PTO-AVS-BLOCK-TPREFETCH-FOOTPRINT-001tests/asl/block/execution/BSTART.TPREFETCH/block-exec-bstart-tprefetch-footprint-001.asl1176ec83fb8daf56da4b9bc20a365710c93ed1ffa95fb94a85ec28e0a8315936PTO-AVS-BLOCK-TPREFETCH-PACKED-001tests/asl/block/execution/BSTART.TPREFETCH/block-exec-bstart-tprefetch-packed-001.aslc021f47ab702000dbc6179a6de8ac45c3719c72706b615bdf5f3760e8bc56886PTO-AVS-BLOCK-TPREFETCH-SCHEMA-001tests/asl/block/execution/BSTART.TPREFETCH/block-bound-bstart-tprefetch-schema-001.asl90d62c8b33c053965bfa236bef955c168ced55a8d348a30ff3a99c90a9b03e05PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0020…
ADR-0020docs/status/decisions/0020-production-memory-events-and-atomic-corners.md215b18f05d0b53120949373fce6a5ce22f7ab534fb22df24743a9b2b4beb2decLoading ADR-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0033…
ADR-0033docs/status/decisions/0033-tlsu-four-bit-memory-packing.md6fd4f3016f503498cf6a1068907f48998e39f3c29b034d7ddfc486cd6494104bLoading ADR-0052…
ADR-0052docs/status/decisions/0052-direct-tile-and-bundle-catalog-closure.md5fdb38bf480e37affe5075f93b35a57d32803018c986bfe05160f188a19ccaf6Loading ADR-0055…
ADR-0055docs/status/decisions/0055-complete-bundle-bior-schema-and-defaults.mdd84224ee1980cb16a6c4efb6ce3c5c2649d5db27002e7e6429850da189a2cdffLoading ADR-0056…
ADR-0056docs/status/decisions/0056-pto-encoding-ownership-and-gm-access.md846120c256746358eb7b2bd649687e7dddd7e116495b0447afb04be370676d29Loading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0078…
ADR-0078docs/status/decisions/0078-tlsu-and-global-memory-operations.md467537ae8ea30d9a555acee815808394bf800808267a4e58f2e2bbd14c1ee981{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TPREFETCH.md",
"id": "PTO-BLOCK-BSTART-TPREFETCH",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TPREFETCH",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TPREFETCH"
},
"mnemonic": "BSTART.TPREFETCH",
"readiness_subjects": [
"ADR-0020",
"ADR-0032",
"ADR-0033",
"ADR-0052",
"ADR-0055",
"ADR-0056",
"ADR-0059",
"ADR-0078"
],
"semantic_tests": [
"PTO-AVS-BLOCK-TPREFETCH-DEFAULTS-001",
"PTO-AVS-BLOCK-TPREFETCH-FAULT-001",
"PTO-AVS-BLOCK-TPREFETCH-FOOTPRINT-001",
"PTO-AVS-BLOCK-TPREFETCH-PACKED-001",
"PTO-AVS-BLOCK-TPREFETCH-SCHEMA-001"
],
"source": "asl/block/execution/BSTART.TPREFETCH.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TPREFETCH-DECODE-001",
"PTO-AVS-BLOCK-TPREFETCH-DEFAULTS-001",
"PTO-AVS-BLOCK-TPREFETCH-FAULT-001",
"PTO-AVS-BLOCK-TPREFETCH-FOOTPRINT-001",
"PTO-AVS-BLOCK-TPREFETCH-PACKED-001",
"PTO-AVS-BLOCK-TPREFETCH-SCHEMA-001"
]
}0.58.5 · Release candidate7dc8b7e5b121d2b2499a2273bebff29e2cd86812c8c57ca48a101a23ed51a8c22d9b126690814b0f95096c4aa5519bb1439f74a97a97f4b6682d401153c3a24f14a0c5c7e56c96703fed2d346172fd616a67ad54asl/block/execution/BSTART.TPREFETCH.aslasl/block/execution/BSTART.TPREFETCH.aslasl/block/execution/BSTART.TPREFETCH.asl