操作数与参数
DataType- tile element data type selector
Starts CUBE Function 0 for the TMATMUL Matrix-matrix complete-bundle operation.
PTO-BLOCK-BSTART-TMATMULBSTART.TMATMUL DataType| 字段 | 位宽 | 有符号性 | 架构角色 | 编码零 |
|---|---|---|---|---|
DataType | 5 | encoding-defined | tile element data type selector | Encoded zero selects FP64. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| DataType | 31:27 | variable |
| Constant | 26:0 | 27'b000000000110001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b000000000110001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TMATMUL DataType
DataTypeDecode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART_TMATMUL( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmul_32_f9da70e4e0ad;end;readonly func InstructionContractTileOperation_BSTART_TMATMUL() => TileOperationbegin return TileOperation_TMATMUL;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMUL() => integer {0..31}begin return 0;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMUL() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMUL() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TMATMUL DataType"],"block":[],"catalog_indices":[41],"catalog_records":[{"asm":"BSTART.TMATMUL 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":"0x00031181","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_tmatmul_32_f9da70e4e0ad","length_bits":32,"mnemonic":"BSTART.TMATMUL","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts CUBE Function 0 for the TMATMUL Matrix-matrix complete-bundle operation.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TMATMUL AType","B.DATR BType, RMode, Sat (optional; BType defaults to AType)","B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one)","B.DIM LB0 M or cooperative group_M (optional, default 1)","B.DIM LB1 N (optional, default 1)","B.DIM LB2 K (optional, default 1)","B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111)","B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, B CUBE_N8 primary","B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations","B.IOT/B.IOR postprocess operands selected by B.FPATR","BSTOP or the next BSTART completion boundary"],"canonical_assembly":["BSTART.TMATMUL DataType"],"defaults":["Encoded DataType is always AType. Omitted B.DATR preserves AType as BType, selects RNE, and disables saturation.","Omitted LB0 defaults Local M or cooperative group_M to one; omitted LB1 and LB2 default N and K to one.","Exactly one all-zero B.FPATR selects no conversion, activation, or reduction; B.IOR and auxiliary B.IOT operands exist only when a selected postprocess mode requires them.","Local A uses persistent CUBE_M16 or CUBE_M32, Local B uses persistent CUBE_N8, and D is newly allocated in A's M layout. M, N, and K are arbitrary positive values independent of per-PE TSize.","TransA=0 and TransB=0 select no logical transpose. Each nonzero control is legal only when the corresponding primary is Shared."],"encoding_class":"standalone-encoded","examples":["BSTART.TMATMUL AType; B.DATR BType, RMode, Sat (optional; BType defaults to AType); B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one); B.DIM LB0 M or cooperative group_M (optional, default 1); B.DIM LB1 N (optional, default 1); B.DIM LB2 K (optional, default 1); B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111); B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, B CUBE_N8 primary; B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations; B.IOT/B.IOR postprocess operands selected by B.FPATR; BSTOP or the next BSTART completion boundary"],"exceptions":["A reserved DataType or fixed-bit mismatch raises Fault_IllegalInstruction before block state changes.","Missing, duplicate, or non-Matrix B.FPATR use raises Fault_BundleControl before allocation or payload effects.","Illegal types, dimensions, masks, binding streams, descriptors, shapes, capacities, aliases, readiness, or postprocess values raise Fault_TileLegality before source snapshots and effects."],"field_contracts":{"DataType":{"ref":"PTO-FIELD-BLOCK-DATATYPE"}},"field_zero_meanings":{"DataType":"Encoded zero selects FP64."},"legality":["The carrier selects exactly CUBE Function 0 and TileOperation_TMATMUL.","Local A uses persistent CUBE_M16 or CUBE_M32, Local B uses persistent CUBE_N8, and D is newly allocated in A's M layout. M, N, and K are arbitrary positive values independent of per-PE TSize.","A Shared primary must satisfy hardware-maintained whole-parent readiness and publication before payload access; fixed-quarter allocation or initialization masks are not a prerequisite. Any cooperative Local-A/Shared-B or Shared-A/Shared-B TMATMUL interprets LB0 as Core-total group_M in 1..128; Shared A has shape group_MxK, Shared B has shape KxN, and PE i uses valid_M=clamp(group_M-i*M_per_PE,0,M_per_PE) with M_per_PE 16 for group_M<=64 and 32 for group_M>=65. TransA and TransB apply only to their corresponding Shared primary. Right-only Shared inherits Local A layout; all-Shared ACC inherits C layout; all-Shared non-ACC selects M16 through M=16 and M32 through M=32.","AType and BType must be supported ordinary Matrix types from one numeric class. Published Shared operands may replace the right group or both matrix groups; supplementary operands and destinations remain Local.","Every cooperative nonzero PE_MASK must be 1111; all four PEs complete Shared readiness, while zero-row PEs suppress every compute-only Local resolution and effect. Mask zero is a strict no-op before descriptor reads, faults, allocation, readiness checks, or lifetime effects.","B.DATR permits only BType, RMode, and Sat. Exactly one B.FPATR is mandatory and closes the conditional postprocess schema."],"memory_effects":["none"],"operands":[{"field":"DataType","role":"tile element data type selector"}],"ordering":["Complete schema, field, type, dimension, descriptor, shape, capacity, readiness, alias, and allocation preflight precedes every source snapshot and destination effect.","D and every enabled reduction output publish as one atomic group; rejection publishes none and successful sources persist."],"standalone_opcode":true,"state_effects":["Start a CUBE Function 0 descriptor with encoded DataType preserved as AType.","At block completion execute TileOperation_TMATMUL using the resolved M, N, K, input types, mathematical operands, and B.FPATR postprocess schema.","Publish the complete output group atomically after successful preflight and computation; do not consume mathematical or postprocess sources.","For Local execution, publish D with A's CUBE_M16 or CUBE_M32 layout and final output dtype; ordinary Bias, MX scales, and enabled reduction auxiliaries keep their operation-owned layouts.","Successful Shared primary reads leave every Shared descriptor, mask, publication state, payload, and lifetime unchanged."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-TMATMUL","mnemonic":"BSTART.TMATMUL","summary":"Starts CUBE Function 0 for the TMATMUL Matrix-matrix complete-bundle operation.","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-TMATMUL-CONTRACT-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TMATMUL MUST select CUBE Function 0 and TileOperation_TMATMUL.// Its encoded DataType is AType; omitted B.DATR MUST preserve AType as// BType, omitted LB0/LB1/LB2 MUST default M/N/K independently to one,// Local M, N, and K MUST be positive per-PE dimensions independent of TSize;// cooperative LB0 MUST be Core-total group_M.// For every cooperative Shared-input TMATMUL, LB0 MUST be Core-total group_M;// Shared A MUST have shape group_MxK and Shared B MUST have shape KxN.// AType and BType must be supported ordinary Matrix types from one numeric// class. Published Shared operands may replace the right group or both matrix// groups; supplementary operands and destinations remain Local.// Shared primaries MUST be fully published and ready in all four fixed quarters.// TransA/TransB MUST apply only to the corresponding Shared primary. Every// cooperative nonzero PE mask MUST be 1111; zero-row PEs MUST have no Local effect.// Exactly one B.FPATR MUST close postprocess defaults and operands.// Complete schema, type, shape, capacity, definedness, readiness, alias,// and allocation preflight MUST precede source snapshots and effects;// successful outputs MUST publish atomically and sources MUST persist.// NDF-END: PTO-BSTART-TMATMUL-CONTRACT-001
// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TMATMUL( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tmatmul_32_f9da70e4e0ad;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractTileOperation_BSTART_TMATMUL() => TileOperationbegin return TileOperation_TMATMUL;end;
readonly func InstructionContractCubeFunction_BSTART_TMATMUL() => integer {0..31}begin return 0;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TMATMUL() => booleanbegin return TRUE;end;
readonly func InstructionContractHandler_BSTART_TMATMUL() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
BSTART.TMATMUL 打开一个活动 Block 描述符,其操作为 TileOperation_TMATMUL;Block 体在完成前提供所需属性与绑定。
BSTART.TMATMUL 必须位于所属 Block 的起始位置。后续属性、维度与绑定会累积到活动描述符中,直到 BSTOP 或下一条已接受的 BSTART 完成边界。
已接受载体使用 L32 编码类别;命令在读取绑定或改变状态前,会先解析所有显示字段。
完成时,只有模式、类型、维度、描述符、就绪状态、别名和容量预检全部成功,描述符才会执行 TileOperation_TMATMUL。
DataType — Tile 元素数据类型选择器。BSTART.TMATMUL, B.DATR, B.FPATR, B.DIM, B.IOS, B.IOT, B.IOT/B.IOR 补全;省略可选载体时,只采用本归属单元明确规定的默认值。启动 Block 会记录所选载体,并把操作执行推迟到完成边界。
完成全部预检与计算后,所有启用输出按归属单元规定的原子组发布;除非契约明确消费,成功执行后的数学源仍保持可用。
固定比特、保留值、选择器取值域与必需的 Block 放置关系都在架构效果之前检查。
当前归属单元通过 Fault_BundleControl, Fault_IllegalInstruction, Fault_TileLegality 报告无效模式、状态、地址或后继条件;本页说明文字不创建额外故障规则。
完整模式、绑定、就绪状态、别名、容量与分配预检发生在源快照和所有目的端发布之前。
该示例只演示放置关系与载体流;精确行为仍由当前 ASL 和指令契约定义。
BSTART.TMATMUL AType; B.DATR BType, RMode, Sat (optional; BType defaults to AType); B.FPATR PreQuantMode, ReluMode, GroupNCode, RowMaxEn, GroupMaxEn, RowMaxInit, MaxAbsEn, TransA, TransB, CScaleEn (exactly one); B.DIM LB0 M or cooperative group_M (optional, default 1); B.DIM LB1 N (optional, default 1); B.DIM LB2 K (optional, default 1); B.IOS complete right or both matrix operand groups (optional; cooperative mask 1111); B.IOT ordered Local mathematical sources: A CUBE_M16/M32 primary, B CUBE_N8 primary; B.IOT D matching A's CUBE_M16/M32 layout, optional RowMaxOut, optional GroupMaxOut destinations; B.IOT/B.IOR postprocess operands selected by B.FPATR; BSTOP or the next BSTART completion boundary起始指令先建立描述符;后续载体按声明模式补充内容,最终完成边界触发验证与操作执行。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART.TMATMUL MUST select CUBE Function 0 and TileOperation_TMATMUL. Its encoded DataType is AType; omitted B.DATR MUST preserve AType as BType, omitted LB0/LB1/LB2 MUST default M/N/K independently to one, Local M, N, and K MUST be positive per-PE dimensions independent of TSize; cooperative LB0 MUST be Core-total group_M. For every cooperative Shared-input TMATMUL, LB0 MUST be Core-total group_M; Shared A MUST have shape group_MxK and Shared B MUST have shape KxN. AType and BType must be supported ordinary Matrix types from one numeric class. Published Shared operands may replace the right group or both matrix groups; supplementary operands and destinations remain Local. Shared primaries MUST be fully published and ready in all four fixed quarters. TransA/TransB MUST apply only to the corresponding Shared primary. Every cooperative nonzero PE mask MUST be 1111; zero-row PEs MUST have no Local effect. Exactly one B.FPATR MUST close postprocess defaults and operands. Complete schema, type, shape, capacity, definedness, readiness, alias, and allocation preflight MUST precede source snapshots and effects; successful outputs MUST publish atomically and sources MUST persist.
PTO-BSTART-TMATMUL-CONTRACT-001asl/block/execution/BSTART.TMATMUL.asl3124db0a0634751262bbefb10289d62ecac39a3fc6435f5309eec701415c2e6bd471a503c9838ec6db936daf580579a3f8d20ea54a735f0a91669e3814b2649f25 matching entries
PTO-AVS-BLOCK-BSTART-TMATMUL-DECODE-001tests/asl/block/execution/BSTART.TMATMUL/block-decode-bstart-tmatmul-canonical-001.asl9730b5cdb5383867c3e8bd14d43c13abcb08f7b68172f120a7be1c92de4d40e8PTO-AVS-BLOCK-TMATMUL-DEFAULT-001tests/asl/block/execution/BSTART.TMATMUL/block-exec-bstart-tmatmul-defaults-001.asl300c56d6049ca07626861a09a9c5d4d7444275918bae720847649bfa3feac5c0PTO-AVS-BLOCK-TMATMUL-DIM-001tests/asl/block/execution/BSTART.TMATMUL/block-bound-bstart-tmatmul-dimensions-001.asl6a757e483b20113fca9e3e1f32ab18b37eea74b567855e69f7e0a9df8bff6581PTO-AVS-BLOCK-TMATMUL-EXEC-001tests/asl/block/execution/BSTART.TMATMUL/block-exec-bstart-tmatmul-mixed-input-types-001.asl71f49d474122b7a57f9aca6f65203661a75517f42709e1f430350bf8e29c1be3PTO-AVS-BLOCK-TMATMUL-HIF4-FAULT-002tests/asl/block/execution/BSTART.TMATMUL/block-fault-bstart-tmatmul-hif4-002.asleab0b5fd230875f426002f2203c6fc420abd1f562a3f66dc73a2388f097a1c2bPTO-AVS-BLOCK-TMATMUL-MASK-001tests/asl/block/execution/BSTART.TMATMUL/block-bound-bstart-tmatmul-mask-001.asl59aaab11f1eb109c8d1e7b6100d71400c5b1ed317be13109928107ecbfa6b58dPTO-AVS-BLOCK-TMATMUL-PRESENCE-001tests/asl/block/execution/BSTART.TMATMUL/block-bound-bstart-tmatmul-presence-001.asl034af38ee7e7a6fd74fd5ba8ec71b9e1f99855704afe01e9f8d3ab6e84743891PTO-AVS-BLOCK-TMATMUL-TYPES-001tests/asl/block/execution/BSTART.TMATMUL/block-bound-bstart-tmatmul-types-001.asl3dc77d5b971dd09f9a2543b8f268abfde4067fce30d086715e5efac5d63ad7cdPTO-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-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0034…
ADR-0034docs/status/decisions/0034-cube-raw-carrier-totality.md6e773942b46c7352eaba729ccd056548ec2e6379fbf8790eaf366571c968f814Loading 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-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0065…
ADR-0065docs/status/decisions/0065-cube-matrix-family-contract.mdd1f50e2bdf78a0fb447af2f3213400463cc8b4fe4676c7282b67da77c4721fecLoading ADR-0071…
ADR-0071docs/status/decisions/0071-local-cube-matrix-operands.mdc9c58c246498edab99aff612c6d645774e07f942e37fb92b14245e8aecbe8368Loading ADR-0072…
ADR-0072docs/status/decisions/0072-cooperative-shared-cube-transpose.md9bc7340fea777ee543d4b9393f8f6002b55106833e55ff6d388f8beac504dd09Loading ADR-0079…
ADR-0079docs/status/decisions/0079-cube-and-matrix-operations.md71b54321ddf5d233ef470083965e269778c57d5ef3d01859659aba7e2ab40863Loading ADR-0108…
ADR-0108docs/status/decisions/0108-0584-1-to-0585-compatibility.md5689fa78a7291b6ae88d55197205e4cf79e9719ee5ba18ebf186f5c6871c350d{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TMATMUL.md",
"id": "PTO-BLOCK-BSTART-TMATMUL",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TMATMUL",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TMATMUL"
},
"mnemonic": "BSTART.TMATMUL",
"readiness_subjects": [
"ADR-0032",
"ADR-0034",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0065",
"ADR-0071",
"ADR-0072",
"ADR-0079",
"ADR-0108"
],
"semantic_tests": [
"PTO-AVS-BLOCK-TMATMUL-DEFAULT-001",
"PTO-AVS-BLOCK-TMATMUL-DIM-001",
"PTO-AVS-BLOCK-TMATMUL-EXEC-001",
"PTO-AVS-BLOCK-TMATMUL-HIF4-FAULT-002",
"PTO-AVS-BLOCK-TMATMUL-MASK-001",
"PTO-AVS-BLOCK-TMATMUL-PRESENCE-001",
"PTO-AVS-BLOCK-TMATMUL-SHARED-001",
"PTO-AVS-BLOCK-TMATMUL-SHARED-WAIT-002",
"PTO-AVS-BLOCK-TMATMUL-TYPES-001"
],
"source": "asl/block/execution/BSTART.TMATMUL.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TMATMUL-DECODE-001",
"PTO-AVS-BLOCK-TMATMUL-DEFAULT-001",
"PTO-AVS-BLOCK-TMATMUL-DIM-001",
"PTO-AVS-BLOCK-TMATMUL-EXEC-001",
"PTO-AVS-BLOCK-TMATMUL-HIF4-FAULT-002",
"PTO-AVS-BLOCK-TMATMUL-MASK-001",
"PTO-AVS-BLOCK-TMATMUL-PRESENCE-001",
"PTO-AVS-BLOCK-TMATMUL-SHARED-001",
"PTO-AVS-BLOCK-TMATMUL-SHARED-WAIT-002",
"PTO-AVS-BLOCK-TMATMUL-TYPES-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd868123124db0a0634751262bbefb10289d62ecac39a3fc6435f5309eec701415c2e6ba83282ab3b8d877124e0f3b9d1954f2c57631b7c5b7e42c36edc0294bc0a6dfeasl/block/execution/BSTART.TMATMUL.aslasl/block/execution/BSTART.TMATMUL.aslasl/block/execution/BSTART.TMATMUL.asl