操作数与参数
DataType- tile element data type selector
Starts CUBE Function 16 for the TGEMV M=1 Matrix-vector complete-bundle operation.
PTO-BLOCK-BSTART-TGEMVBSTART.TGEMV 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'b001000000110001000110000001 |
{
"reg": [
{
"bits": 27,
"name": "27'b001000000110001000110000001"
},
{
"bits": 5,
"name": "DataType"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART.TGEMV DataType
DataTypeDecode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART_TGEMV( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tgemv_32_ae19f5b678f5;end;readonly func InstructionContractTileOperation_BSTART_TGEMV() => TileOperationbegin return TileOperation_TGEMV;end;
readonly func InstructionContractCubeFunction_BSTART_TGEMV() => integer {0..31}begin return 16;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TGEMV() => booleanbegin return FALSE;end;
readonly func InstructionContractHandler_BSTART_TGEMV() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// PTO-INSTRUCTION: {"assembly":["BSTART.TGEMV DataType"],"block":[],"catalog_indices":[34],"catalog_records":[{"asm":"BSTART.TGEMV 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":"0x01031181","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_tgemv_32_ae19f5b678f5","length_bits":32,"mnemonic":"BSTART.TGEMV","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Starts CUBE Function 16 for the TGEMV M=1 Matrix-vector complete-bundle operation.","status":"accepted"}],"classification":["execution"],"contract":{"block_composition":["BSTART.TGEMV 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: 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.TGEMV 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. M is fixed to one; N and K are arbitrary positive values independent of per-PE TSize.","TransA=0 and TransB=0 select no logical transpose. TGEMV requires both controls to remain zero."],"encoding_class":"standalone-encoded","examples":["BSTART.TGEMV 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: 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 16 and TileOperation_TGEMV.","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 is fixed to one; N and K are arbitrary positive values independent of per-PE TSize.","TGEMV is Local-only: TransA and TransB are zero and every effective Shared binding rejects before effects.","AType and BType must be supported ordinary Matrix types from one numeric class. 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 16 descriptor with encoded DataType preserved as AType.","At block completion execute TileOperation_TGEMV 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."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART-TGEMV","mnemonic":"BSTART.TGEMV","summary":"Starts CUBE Function 16 for the TGEMV 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-TGEMV-CONTRACT-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART.TGEMV MUST select CUBE Function 16 and TileOperation_TGEMV.// 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.// AType and BType must be supported ordinary Matrix types from one numeric// class. 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.// 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-TGEMV-CONTRACT-001
// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART_TGEMV( operation: CommandOperation) => booleanbegin return operation == CommandOperation_bstart_tgemv_32_ae19f5b678f5;end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractTileOperation_BSTART_TGEMV() => TileOperationbegin return TileOperation_TGEMV;end;
readonly func InstructionContractCubeFunction_BSTART_TGEMV() => integer {0..31}begin return 16;end;
readonly func InstructionContractSharedOperandsAllowed_BSTART_TGEMV() => booleanbegin return FALSE;end;
readonly func InstructionContractHandler_BSTART_TGEMV() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;// DOC-END: operation
BSTART.TGEMV 是 TGEMV 形式的 32 位 Block 起始命令。它建立待处理 Block 的身份和选择参数;真正执行 Block body 并提交结果的是完成后的整个 Block,而不是起始命令本身。
起始命令之后的 header 命令按顺序执行;BSTOP 或下一条 BSTART 是验证并退休完整 Block 的边界。当前所有者给出以下确切组成检查表:
BSTART.TGEMV 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: 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任何有效前序 Block 成功退休后,该命令初始化新的待处理 BARG 或操作描述符,并从顺序 PC 继续执行 header。仅仅成功解码起始命令,不会让 Block 目的结果或内存结果变得可见。
DataType 选择元素数据类型或继承哨兵;其确切分配域仍以下方生成契约为准。对适用性和目标检查而言,起始状态转换与前序 Block 退休是全有或全无的。起始命令成功后,后续完成边界会在任何 body 结果提交前验证完整组成。
保留选择器、无效目标、完成后的组成错误或前序退休失败,都会在新 Block 或 body 影响之前被拒绝。
以下为示例性示例,仅用于说明当前所有者,不替代其定义。
BSTART.TGEMV DataType假设前序 Block 退休和目标检查成功,BSTART.TGEMV DataType 会打开待处理的 BSTART.TGEMV 形式;后续 header/body 命令仍是暂定状态,直到 BSTOP 或下一条 BSTART 验证完整组成。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART.TGEMV MUST select CUBE Function 16 and TileOperation_TGEMV. 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. AType and BType must be supported ordinary Matrix types from one numeric class. 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. 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-TGEMV-CONTRACT-001asl/block/execution/BSTART.TGEMV.asl545097de300df754aa8302d05544a2dd204b428b1bd3a1eae5686b02c45afadd132d7a6c1a7cd79ccb408bd20f02aea04fccbfbdb49828254a58a673c1a6c00a19 matching entries
PTO-AVS-BLOCK-BSTART-TGEMV-DECODE-001tests/asl/block/execution/BSTART.TGEMV/block-decode-bstart-tgemv-canonical-001.aslee3880137b6ff34cec2e07bd5ca75565650714598c0a9ffc97782ea8658a9d8fPTO-AVS-BLOCK-TGEMV-CUBE-002tests/asl/block/execution/BSTART.TGEMV/block-exec-bstart-tgemv-cube-002.asl65464cae89ee00c857f86e45cef71a6e06dbaf9350127892e1b17764d971f185PTO-AVS-BLOCK-TGEMV-CUBE-M-003tests/asl/block/execution/BSTART.TGEMV/block-fault-bstart-tgemv-cube-m-003.aslfe2c4085e2e43015cfda0aab855cb4d735cbf0c51f45161e2a64d979bf3f97f9PTO-AVS-BLOCK-TGEMV-EXEC-001tests/asl/block/execution/BSTART.TGEMV/block-exec-bstart-tgemv-basic-001.asl4ade7a0dcad7c6c47195a5bd61e65a763511876135b1ca4b54351f593737c683PTO-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.md71b54321ddf5d233ef470083965e269778c57d5ef3d01859659aba7e2ab40863{
"classification": [
"execution"
],
"documentation": "docs/block/execution/BSTART.TGEMV.md",
"id": "PTO-BLOCK-BSTART-TGEMV",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART.TGEMV",
"ndf_clause": "PTO-INST-BLOCK-BSTART-TGEMV"
},
"mnemonic": "BSTART.TGEMV",
"readiness_subjects": [
"ADR-0032",
"ADR-0034",
"ADR-0052",
"ADR-0055",
"ADR-0059",
"ADR-0065",
"ADR-0071",
"ADR-0072",
"ADR-0079"
],
"semantic_tests": [
"PTO-AVS-BLOCK-TGEMV-CUBE-002",
"PTO-AVS-BLOCK-TGEMV-CUBE-M-003",
"PTO-AVS-BLOCK-TGEMV-EXEC-001",
"PTO-AVS-BLOCK-TGEMV-SHARED-001"
],
"source": "asl/block/execution/BSTART.TGEMV.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-TGEMV-DECODE-001",
"PTO-AVS-BLOCK-TGEMV-CUBE-002",
"PTO-AVS-BLOCK-TGEMV-CUBE-M-003",
"PTO-AVS-BLOCK-TGEMV-EXEC-001",
"PTO-AVS-BLOCK-TGEMV-SHARED-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd86812545097de300df754aa8302d05544a2dd204b428b1bd3a1eae5686b02c45afaddcd02138fcd78aa2ed7049cc384a4ff381588b513695950a34a4ee3b37f68fe2fasl/block/execution/BSTART.TGEMV.aslasl/block/execution/BSTART.TGEMV.aslasl/block/execution/BSTART.TGEMV.asl