操作数与参数
simm25- 25-bit signed bundle target displacement
Initializes the single BARG continuation record after any retiring block commits successfully.
PTO-BLOCK-BSTARTBSTART DIRECT, <label>BSTART COND, <label>| 字段 | 位宽 | 有符号性 | 架构角色 | 编码零 |
|---|---|---|---|---|
simm25 | 25 | signed | 25-bit signed bundle target displacement | Encoded zero supplies a zero displacement or zero immediate value. |
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm25 | 31:7 | variable |
| Constant | 6:0 | 7'b0010001 |
{
"reg": [
{
"bits": 7,
"name": "7'b0010001"
},
{
"bits": 25,
"name": "simm25"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART DIRECT, <label>
Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.
| Decoded item | Bit range | Value |
|---|---|---|
| simm25 | 31:7 | variable |
| Constant | 6:0 | 7'b0100001 |
{
"reg": [
{
"bits": 7,
"name": "7'b0100001"
},
{
"bits": 25,
"name": "simm25"
}
],
"config": {
"bits": 32,
"fontsize": 13,
"hspace": 900,
"lanes": 1,
"offset": 0
}
}BSTART COND, <label>
simm25Decode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。
readonly func InstructionContractMatches_BSTART(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_32_7eb93b649748) || (operation == CommandOperation_bstart_32_e11e678a32ac);end;readonly func InstructionContractHandler_BSTART() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART() => BundleKindbegin return BundleKind_Standard;end;
pure func InstructionContractStartsBundle_BSTART() => booleanbegin return TRUE;end;// PTO-INSTRUCTION: {"assembly":["BSTART DIRECT, <label>","BSTART COND, <label>"],"block":[],"catalog_indices":[13,14],"catalog_records":[{"asm":"BSTART DIRECT, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x0000007f","match":"0x00000011","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"simm25","pieces":[{"instruction_lsb":7,"value_lsb":0,"width":25}],"signedness":"signed","width":25}],"form_id":"bstart_32_7eb93b649748","length_bits":32,"mnemonic":"BSTART","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Initializes the single BARG continuation record after any retiring block commits successfully.","status":"accepted"},{"asm":"BSTART COND, <label>","constraints":[],"encoding":[{"index":0,"mask":"0x0000007f","match":"0x00000021","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"simm25","pieces":[{"instruction_lsb":7,"value_lsb":0,"width":25}],"signedness":"signed","width":25}],"form_id":"bstart_32_e11e678a32ac","length_bits":32,"mnemonic":"BSTART","semantic_family":"CMD","semantic_group":"Bundle Split","semantic_handler":"ExecuteBundleStart","semantic_summary":"Initializes the single BARG continuation record after any retiring block commits successfully.","status":"accepted"}],"classification":["lifecycle"],"contract":{"block_composition":["none"],"canonical_assembly":["BSTART DIRECT, <label>","BSTART COND, <label>"],"defaults":["simm25 zero is a real zero displacement, so BARG.BPCN equals the BSTART address P."],"encoding_class":"standalone-encoded","examples":["BSTART DIRECT, <label>"],"exceptions":["An odd computed BARG.BPCN raises Fault_InstructionPC before changing BARG.","A failed retiring-block commit preserves the retiring BARG and does not install the candidate BARG."],"field_contracts":{},"field_zero_meanings":{"simm25":"Encoded zero supplies a zero displacement or zero immediate value."},"legality":["The low-seven-bit 0010001 form is DIRECT only; CALL is not an alias.","The low-seven-bit 0100001 form is COND only."],"memory_effects":["Any memory effects of the retiring block complete before the new BARG is installed; BSTART itself performs no memory access."],"operands":[{"field":"simm25","role":"25-bit signed bundle target displacement"}],"ordering":["Decode and candidate-target validation precede retiring-block commit; successful commit precedes atomic publication of the new BARG."],"standalone_opcode":true,"state_effects":["DIRECT installs BARG.BPC=P, BlockType=STD, BPCN=P+(SignExtend(simm25)<<1), TYPE=DIRECT, TAKEN=1.","COND installs the same BPC/BlockType/BPCN fields with TYPE=COND and TAKEN=0; SETC.* may update TAKEN and SETC.TGT may update BPCN before commit.","Neither form selects BPCN at decode; BSTOP or the next BSTART is the continuation boundary."]},"depends_on":["PTO-BLOCK-MODEL-SCHEMA-PROFILE-ENCODING"],"id":"PTO-BLOCK-BSTART","mnemonic":"BSTART","summary":"Initializes the single BARG continuation record after any retiring block commits successfully.","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-DECISION-BINDING-001// ndf: kind=contract level=L1 layer=block status=accepted// BSTART MUST implement the mnemonic-local canonical assembly, encoded// legality, defaults, state and memory effects, ordering, and fault boundaries// declared in this owner. The operation region below is the executable binding// for every accepted decision that names this mnemonic.// NDF-END: PTO-BSTART-DECISION-BINDING-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_BSTART(operation: CommandOperation) => booleanbegin return (operation == CommandOperation_bstart_32_7eb93b649748) || (operation == CommandOperation_bstart_32_e11e678a32ac);end;// DOC-END: decode// DOC-BEGIN: operationreadonly func InstructionContractHandler_BSTART() => CommandSemanticHandlerbegin return CommandHandler_ExecuteBundleStart;end;
readonly func InstructionContractBundleKind_BSTART() => BundleKindbegin return BundleKind_Standard;end;
pure func InstructionContractStartsBundle_BSTART() => booleanbegin return TRUE;end;// DOC-END: operation
BSTART 是 标准延续 形式的 32 位 Block 起始命令。它建立待处理 Block 的身份和选择参数;真正执行 Block body 并提交结果的是完成后的整个 Block,而不是起始命令本身。
起始命令之后的 header 命令按顺序执行;BSTOP 或下一条 BSTART 是验证并退休完整 Block 的边界。当前所有者给出以下确切组成检查表:
none任何有效前序 Block 成功退休后,该命令初始化新的待处理 BARG 或操作描述符,并从顺序 PC 继续执行 header。仅仅成功解码起始命令,不会让 Block 目的结果或内存结果变得可见。
simm25 提供编码偏移或加数;其确切分配域仍以下方生成契约为准。对适用性和目标检查而言,起始状态转换与前序 Block 退休是全有或全无的。起始命令成功后,后续完成边界会在任何 body 结果提交前验证完整组成。
保留选择器、无效目标、完成后的组成错误或前序退休失败,都会在新 Block 或 body 影响之前被拒绝。
以下为示例性示例,仅用于说明当前所有者,不替代其定义。
BSTART DIRECT, <label>假设前序 Block 退休和目标检查成功,BSTART DIRECT, <label> 会打开待处理的 BSTART 形式;后续 header/body 命令仍是暂定状态,直到 BSTOP 或下一条 BSTART 验证完整组成。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
BSTART MUST implement the mnemonic-local canonical assembly, encoded legality, defaults, state and memory effects, ordering, and fault boundaries declared in this owner. The operation region below is the executable binding for every accepted decision that names this mnemonic.
PTO-BSTART-DECISION-BINDING-001asl/block/lifecycle/BSTART.aslb4dcde54511161526282bc0a06ee434dbe6fb3beff5ce5f8426669a91125e4517fed784bd2722bf3d9ab720c9e9e2a7913fe1a87dff148b881fa35be2e59575317 matching entries
PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001tests/asl/block/model/operands/portable-carriers/block-exec-assemble-portable-carriers-001.asl11e59453724fa2271ae8b7528829da24f05d34eabc7fe8d3d2a71ecb2b3ef63fPTO-AVS-BLOCK-BSTART-BARG-001tests/asl/block/lifecycle/BSTART/block-state-bstart-barg-001.asl1d790863335297e78031666d9ce5521459179059cee8585ff2e6523f4d546376PTO-AVS-BLOCK-BSTART-BPCN-ALIGN-001tests/asl/block/lifecycle/BSTART/block-fault-bstart-bpcn-align-001.aslfbc990755a2513f82dfeff03b33bfe93a7499c65c3cbf694d1a2bd3bc38f34c8PTO-AVS-BLOCK-BSTART-COND-SETC-001tests/asl/block/lifecycle/BSTART/block-state-bstart-cond-setc-001.aslad01c9c9b179f0595cf35f90589b855817447dc9cad806eef50d481a5c06c2dcPTO-AVS-BLOCK-BSTART-DECODE-001tests/asl/block/lifecycle/BSTART/block-decode-bstart-canonical-001.asl98a497ae85eae27f06573c8d9135332b88174f327821ac89980b864d2624d667PTO-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-0009…
ADR-0009docs/status/decisions/0009-scalar-tpc-and-execution-status.md158daf8c726f443cb35afc2e6218d64f0a7da1a68cb3aa9624472baf25467a11Loading ADR-0032…
ADR-0032docs/status/decisions/0032-bundle-command-totality-and-profile-boundaries.mde1f91826817343c0977a565a91e495a15397b83fa2af227124f225821ffa54aeLoading ADR-0052…
ADR-0052docs/status/decisions/0052-direct-tile-and-bundle-catalog-closure.md5fdb38bf480e37affe5075f93b35a57d32803018c986bfe05160f188a19ccaf6Loading ADR-0059…
ADR-0059docs/status/decisions/0059-mnemonic-field-encoding-closure.mdf18d13f735cfaf9f2803c754c5818f4af33d1cc42c489f0d9ce060b07bb3a196Loading ADR-0061…
ADR-0061docs/status/decisions/0061-barg-bpcn-commit-state.mda18e0fbedde0c150c0234b126fef7bf43d9503080ee42e7896ac21e494da4d83Loading ADR-0075…
ADR-0075docs/status/decisions/0075-block-attributes-and-lifecycle.md9a995639ec5db9316011dd4546df798cf5a0895173f5c68cf6fc06602788e27bLoading ADR-0077…
ADR-0077docs/status/decisions/0077-block-start-and-extension-reservations.md20e19c71c2c967447a115e353f5e3673fc14276dabbcf9a96922f54507536973{
"classification": [
"lifecycle"
],
"documentation": "docs/block/lifecycle/BSTART.md",
"id": "PTO-BLOCK-BSTART",
"instruction_contract": {
"artifact": "spec/evidence/instruction-contract-closure.json",
"mnemonic": "BSTART",
"ndf_clause": "PTO-INST-BLOCK-BSTART"
},
"mnemonic": "BSTART",
"readiness_subjects": [
"ADR-0009",
"ADR-0032",
"ADR-0052",
"ADR-0059",
"ADR-0061",
"ADR-0075",
"ADR-0077"
],
"semantic_tests": [
"PTO-AVS-BLOCK-BSTART-BARG-001",
"PTO-AVS-BLOCK-BSTART-BPCN-ALIGN-001",
"PTO-AVS-BLOCK-BSTART-COND-SETC-001"
],
"source": "asl/block/lifecycle/BSTART.asl",
"surface": "block",
"tests": [
"PTO-AVS-BLOCK-BSTART-BARG-001",
"PTO-AVS-BLOCK-BSTART-BPCN-ALIGN-001",
"PTO-AVS-BLOCK-BSTART-COND-SETC-001",
"PTO-AVS-BLOCK-BSTART-DECODE-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd86812b4dcde54511161526282bc0a06ee434dbe6fb3beff5ce5f8426669a91125e451868d17eba2e05713317b34481481a59995f1201c2e4026837a8d2accca676c2easl/block/lifecycle/BSTART.aslasl/block/lifecycle/BSTART.aslasl/block/lifecycle/BSTART.asl