操作数与参数
DataType- tile element data type selector
Starts CUBE Function 22 for the TGEMV_MX_ACC M=1 Matrix-vector complete-bundle operation.
PTO-BLOCK-BSTART-TGEMVMX-ACCBSTART.TGEMVMX.ACC 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'b001011000110001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b001011000110001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TGEMVMX.ACC DataType
DataTypeDecode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART_TGEMVMX_ACC( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tgemvmx_acc_32_368647b04bb0;end;readonly func InstructionContractTileOperation_BSTART_TGEMVMX_ACC() => TileOperationbegin return TileOperation_TGEMV_MX_ACC;end;
readonly func InstructionContractCubeFunction_BSTART_TGEMVMX_ACC() => integer {0..31}begin return 22;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TGEMVMX_ACC() => booleanbegin return FALSE;end;
readonly func InstructionContractHandler_BSTART_TGEMVMX_ACC() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TGEMVMX.ACC DataType"],"block":[],"catalog_indices":[38],"catalog_records":[{"asm":"BSTART.TGEMVMX.ACC 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":"0x01631181","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_tgemvmx_acc_32_368647b04bb0","length_bits":32,"mnemonic":"BSTART.TGEMVMX.ACC","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts CUBE Function 22 for the TGEMV_MX_ACC M=1 Matrix-vector complete-bundle operation.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TGEMVMX.ACC 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 (optional, default 1; TGEMV permits only M=1)","B.DIM LB1 N (optional, default 1)","B.DIM LB2 K (optional, default 1)","B.IOT ordered Local mathematical sources: C CUBE_M16/M32 accumulator matching A with encoded selector distinct from DstTile, A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale","B.IOT D matching A's CUBE_M16/M32 layout with a distinct encoded destination index, 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.TGEMVMX.ACC DataType"],"defaults":["Encoded DataType is always AType. Omitted B.DATR preserves AType as BType, selects RNE, and disables saturation.","Omitted LB0, LB1, and LB2 default M, N, and K independently to one; TGEMV fixes M 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; Local C also uses A's M layout. M is fixed to one; N and K are arbitrary positive values independent of per-PE TSize. Required E8M0 scales remain ordinary row-major Tiles.","TransA=0 and TransB=0 select no logical transpose. TGEMV requires both controls to remain zero.","C and D are both mandatory. In decoded blocks C's six-bit relative selector must differ from zero-extended DstTile before rename; direct Tile calls require destination TileIndex to differ from accumulator TileIndex."],"encoding_class":"standalone-encoded","examples":["BSTART.TGEMVMX.ACC 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 (optional, default 1; TGEMV permits only M=1); B.DIM LB1 N (optional, default 1); B.DIM LB2 K (optional, default 1); B.IOT ordered Local mathematical sources: C CUBE_M16/M32 accumulator matching A with encoded selector distinct from DstTile, A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale; B.IOT D matching A's CUBE_M16/M32 layout with a distinct encoded destination index, 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 22 and TileOperation_TGEMV_MX_ACC.","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; Local C also uses A's M layout. M is fixed to one; N and K are arbitrary positive values independent of per-PE TSize. Required E8M0 scales remain ordinary row-major Tiles.","C and D are both mandatory. In decoded blocks C's six-bit relative selector must differ from zero-extended DstTile before rename; direct Tile calls require destination TileIndex to differ from accumulator TileIndex.","TGEMV is Local-only: TransA and TransB are zero and every effective Shared binding rejects before effects.","Each matrix side independently requires an E8M0 scale exactly when its MX input type is not FP16 or BF16. C is one explicit Local MxN accumulator source and D is a distinct newly published destination; C's encoded relative selector and D's zero-extended DstTile hand must differ before rename. M is fixed to one and every Shared binding is illegal.","Every common nonzero four-bit PE_MASK is legal; all four PEs complete cooperative Shared readiness while only selected PEs allocate and publish. 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 22 descriptor with encoded DataType preserved as AType.","At block completion execute TileOperation_TGEMV_MX_ACC 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.","C is snapshotted before multiplication and remains descriptor-and-payload unchanged after success or rejection."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-TGEMVMX-ACC","mnemonic":"BSTART.TGEMVMX.ACC","summary":"Starts CUBE Function 22 for the TGEMV_MX_ACC M=1 Matrix-vector 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-TGEMVMX-ACC-CONTRACT-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TGEMVMX.ACC MUST select CUBE Function 22 and TileOperation_TGEMV_MX_ACC.// 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 N and K MUST be positive and independent of per-PE TSize; M// MUST equal one.// Each matrix side independently requires an E8M0 scale exactly when its MX// input type is not FP16 or BF16. C is one explicit Local MxN accumulator// source and D is a distinct newly published destination. C's encoded relative// selector MUST differ from zero-extended DstTile before physical rename. M is fixed to one and every Shared binding is// illegal.// TransA and TransB MUST remain zero and every Shared binding MUST reject.// Every common nonzero Local PE mask is legal; mask zero is a strict no-op.// C and D MUST both be explicit; direct Tile calls MUST also use different// destination and accumulator TileIndex values. C MUST persist unchanged.// 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-TGEMVMX-ACC-CONTRACT-001
// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TGEMVMX_ACC( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tgemvmx_acc_32_368647b04bb0;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractTileOperation_BSTART_TGEMVMX_ACC() => TileOperationbegin return TileOperation_TGEMV_MX_ACC;end;
readonly func InstructionContractCubeFunction_BSTART_TGEMVMX_ACC() => integer {0..31}begin return 22;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TGEMVMX_ACC() => booleanbegin return FALSE;end;
readonly func InstructionContractHandler_BSTART_TGEMVMX_ACC() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
BSTART.TGEMVMX.ACC 是 TGEMVMX.ACC 形式的 32 位 Block 起始命令。它建立待处理 Block 的身份和选择参数;真正执行 Block body 并提交结果的是完成后的整个 Block,而不是起始命令本身。
起始命令之后的 header 命令按顺序执行;BSTOP 或下一条 BSTART 是验证并退休完整 Block 的边界。当前所有者给出以下确切组成检查表:
BSTART.TGEMVMX.ACC 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 (optional, default 1; TGEMV permits only M=1)
B.DIM LB1 N (optional, default 1)
B.DIM LB2 K (optional, default 1)
B.IOT ordered Local mathematical sources: C CUBE_M16/M32 accumulator matching A with encoded selector distinct from DstTile, A CUBE_M16/M32 primary, optional A scale, B CUBE_N8 primary, optional B scale
B.IOT D matching A's CUBE_M16/M32 layout with a distinct encoded destination index, optional RowMaxOut, optional GroupMaxOut destinations
B.IOT/B.IOR postprocess operands selected by B.FPATR
BSTOP or the next BSTART completion boundary任何有效前序 Block 成功退休后,该命令初始化新的待处理 BARG 或操作描述符,并从顺序 PC 继续执行 header。仅仅成功解码起始命令,不会让 Block 目的结果或内存结果变得可见。
DataType 选择元素数据类型或继承哨兵;其确切分配域仍以下方生成契约为准。对适用性和目标检查而言,起始状态转换与前序 Block 退休是全有或全无的。起始命令成功后,后续完成边界会在任何 body 结果提交前验证完整组成。
保留选择器、无效目标、完成后的组成错误或前序退休失败,都会在新 Block 或 body 影响之前被拒绝。
以下为示例性示例,仅用于说明当前所有者,不替代其定义。
BSTART.TGEMVMX.ACC DataType假设前序 Block 退休和目标检查成功,BSTART.TGEMVMX.ACC DataType 会打开待处理的 BSTART.TGEMVMX.ACC 形式;后续 header/body 命令仍是暂定状态,直到 BSTOP 或下一条 BSTART 验证完整组成。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART.TGEMVMX.ACC MUST select CUBE Function 22 and TileOperation_TGEMV_MX_ACC. 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 N and K MUST be positive and independent of per-PE TSize; M MUST equal one. Each matrix side independently requires an E8M0 scale exactly when its MX input type is not FP16 or BF16. C is one explicit Local MxN accumulator source and D is a distinct newly published destination. C's encoded relative selector MUST differ from zero-extended DstTile before physical rename. M is fixed to one and every Shared binding is illegal. TransA and TransB MUST remain zero and every Shared binding MUST reject. Every common nonzero Local PE mask is legal; mask zero is a strict no-op. C and D MUST both be explicit; direct Tile calls MUST also use different destination and accumulator TileIndex values. C MUST persist unchanged. 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-TGEMVMX-ACC-CONTRACT-001asl/block/execution/BSTART.TGEMVMX.ACC.asl954a38a6fabf9b8d6a97a06f9e9632e6decb2bed53b1f833647291f09388ff41452f41141a38decaa50fc2ed9ed869b153ee45d154536e4e5eea37c9ee0e95ce18 matching entries
PTO-AVS-BLOCK-BSTART-TGEMVMX-ACC-DECODE-001tests/asl/block/execution/BSTART.TGEMVMX.ACC/block-decode-bstart-tgemvmx-acc-canonical-001.asle7866e736eb6d7905259e7ad28418cc2de2f7021b991ddea3cb6acecfec3d344PTO-AVS-BLOCK-TGEMVMX-ACC-EXEC-001tests/asl/block/execution/BSTART.TGEMVMX.ACC/block-exec-bstart-tgemvmx-acc-add-001.asld59cd834aa20079e12923c911d847af3a4cff1f21ce1adf6dcdd3aa761513ab3PTO-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-0041…
ADR-0041docs/status/decisions/0041-a2a3-mx-profile-applicability.mdfac4a0023748f31bc1634fdd68eb1627b388ac41aaee0cb2a61e4a341d7e38b8Loading 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-0073…
ADR-0073docs/status/decisions/0073-cube-accumulator-atomic-output.mdd63ba89014fe901b5055fc38bbd5578aa1b571c1038321a903f20cc6e9756fefLoading ADR-0079…
ADR-0079docs/status/decisions/0079-cube-and-matrix-operations.md71b54321ddf5d233ef470083965e269778c57d5ef3d01859659aba7e2ab40863{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TGEMVMX.ACC.md",
"id": "PTO-BLOCK-BSTART-TGEMVMX-ACC",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TGEMVMX.ACC",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TGEMVMX-ACC"
},
"mnemonic": "BSTART.TGEMVMX.ACC",
"readiness_subjects": [
"ADR-0032",
"ADR-0034",
"ADR-0041",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0065",
"ADR-0071",
"ADR-0072",
"ADR-0073",
"ADR-0079"
],
"semantic_tests": [
"PTO-AVS-BLOCK-TGEMVMX-ACC-EXEC-001"
],
"source": "asl/block/execution/BSTART.TGEMVMX.ACC.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TGEMVMX-ACC-DECODE-001",
"PTO-AVS-BLOCK-TGEMVMX-ACC-EXEC-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd86812954a38a6fabf9b8d6a97a06f9e9632e6decb2bed53b1f833647291f09388ff41f229dfc01990e139a2dbe59df1e2426e8a42dcdc676eb176bcb6ee24c3eb5054asl/block/execution/BSTART.TGEMVMX.ACC.aslasl/block/execution/BSTART.TGEMVMX.ACC.aslasl/block/execution/BSTART.TGEMVMX.ACC.asl