目的与范围
目的与范围
ExecutePTOInstruction 是单条已编码 PTO 指令的全覆盖入口,返回 PTOInstruction_Executed 或 PTOInstruction_Rejected。
它区分命令形式分派与标量分派,并为无法匹配的 64 位输入提供明确的拒绝路径。
PTO-ARCH-DISPATCH-TOP-LEVEL下面直接显示完整的 ASL 所有者。
// PTO-UNIT: {"id":"PTO-ARCH-DISPATCH-TOP-LEVEL","surface":"arch","classification":["dispatch","top-level"],"depends_on":["PTO-BLOCK-MODEL-DISPATCH-TOP-LEVEL","PTO-SCALAR-MODEL-DISPATCH-TOP-LEVEL"]}// PTO-REQ-INSTRUCTION-DISPATCH-001: total PTO encoded-instruction entry point.
type PTOInstructionExecutionStatus of enumeration { PTOInstruction_Executed, PTOInstruction_Rejected};
func ExecutePTOInstruction(instruction: bits(64), length_bits: integer {16,32,48,64}) => PTOInstructionExecutionStatusbegin if DecodeCommandForm(instruction, length_bits) != PTO_COMMAND_FORM_COUNT then let command_status = ExecuteCommandInstruction(instruction, length_bits); if command_status == CommandExecution_Executed then return PTOInstruction_Executed; else return PTOInstruction_Rejected; end; elsif length_bits != 64 then let scalar_status = ExecuteScalarInstruction( instruction[47:0], length_bits as integer {16,32,48}); if scalar_status == ScalarExecution_Executed then return PTOInstruction_Executed; else return PTOInstruction_Rejected; end; else BeginArchitecturalInstructionAttempt(); SetFault(Fault_IllegalInstruction, ReadTPC()); return PTOInstruction_Rejected; end;end;
ExecutePTOInstruction 是单条已编码 PTO 指令的全覆盖入口,返回 PTOInstruction_Executed 或 PTOInstruction_Rejected。
它区分命令形式分派与标量分派,并为无法匹配的 64 位输入提供明确的拒绝路径。
bits(64),length_bits 只能取 16、32、48 或 64。DecodeCommandForm;识别出的命令形式交给 ExecuteCommandInstruction。64,则将低 48 位连同原始 16/32/48 长度传给 ExecuteScalarInstruction。命令执行状态直接映射为顶层的已执行或已拒绝状态。
命令解码器报告无匹配形式后,标量执行状态按相同方式映射。
无法匹配的 64 位输入会开始一次架构指令尝试,在 ReadTPC() 处设置 Fault_IllegalInstruction,并返回拒绝状态。
该分派器不重复定义命令或标量的合法性与操作语义,而是委托给相应的当前归属单元。
显式非法指令路径只在命令解码失败且所选长度为 64 时生效。
已识别的 48 位标量形式先无法匹配命令形式,随后进入 ExecuteScalarInstruction;最终状态再映射回 PTOInstructionExecutionStatus。
不匹配任何命令形式的随机 64 位载体不会落入标量解码,而会进入显式非法指令路径。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
No NDF clause is attached to this unit.
9 matching entries
PTO-AVS-ARCH-DECODER-COVERAGE-001tests/asl/arch/dispatch/top-level/arch-exec-decoders-001.asl8bc90a14061253e64b4fdfcae7a2797235f43213e563a4189ae8c9927410e079PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001tests/asl/arch/dispatch/top-level/arch-static-top-level-contract-001.aslc0a9d8dae5bd5f921e1c5dd44d6a13da8d8743fd02aa8d02d1a9f60bf35c9b16PTO-AVS-ARCH-TESTCROSSDISPATCHEXECUTIONCONTRACT-EXECUTION-001tests/asl/arch/dispatch/top-level/arch-exec-cross-dispatch-contract-001.asl7861a22b4ea15c1965e2af12a3e0b92d4084139789113692f695710ad04a34d0PTO-AVS-ARCH-TESTUNIFIEDINSTRUCTIONDISPATCH-EXECUTION-001tests/asl/arch/dispatch/top-level/arch-exec-unified-instruction-dispatch-001.asl24b8cbc802a9ca45ec70b97947810c0edb0eb0c87efff1cad5b776958a2010f2PTO-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.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8{
"classification": [
"dispatch",
"top-level"
],
"documentation": "docs/arch/dispatch/top-level.md",
"id": "PTO-ARCH-DISPATCH-TOP-LEVEL",
"mnemonic": null,
"readiness_subjects": [],
"semantic_tests": [
"PTO-AVS-ARCH-DECODER-COVERAGE-001",
"PTO-AVS-ARCH-TESTCROSSDISPATCHEXECUTIONCONTRACT-EXECUTION-001",
"PTO-AVS-ARCH-TESTUNIFIEDINSTRUCTIONDISPATCH-EXECUTION-001"
],
"source": "asl/arch/dispatch/top-level.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-DECODER-COVERAGE-001",
"PTO-AVS-ARCH-DISPATCH-TOP-LEVEL-STATIC-001",
"PTO-AVS-ARCH-TESTCROSSDISPATCHEXECUTIONCONTRACT-EXECUTION-001",
"PTO-AVS-ARCH-TESTUNIFIEDINSTRUCTIONDISPATCH-EXECUTION-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd86812302dfff367909f25401d9a994c9e59d48ee6555c70428e638e37f6f35a589e9d0e37eab3284b17561aeed576a1fa056c19d9bf2f93af8accbcc5ba17c57fe72easl/arch/dispatch/top-level.asl