指令集优化:新增 §9 确认核验清单(K1..K23 已确认 / U1..U16 待确认,未回答≠同意)
This commit is contained in:
@@ -255,3 +255,58 @@ V2 的 op 位段仅 6 位(64 个),FB 占 8 个不划算,且 machine.toml
|
||||
- B4 定案:领域指令(运动控制/通信)不进指令集,一律 FB 库;无 EXT 服务指令
|
||||
- B3/B5 说明中待确认:单/双字计数编码(CAL type 位段)、op 位段预算
|
||||
- 未定项记录:C1 元数据段 / C2 头终稿 / C3 fb 表 schema / C4 rd 约定成文 / C5 line1 推演 / C6 计数器字段表
|
||||
|
||||
## 9. 确认核验清单(2026-08-24 核对)
|
||||
|
||||
> 原则:**未明确回答 ≠ 同意**。本清单逐项记录「用户明确回答」与「待确认」,
|
||||
> 待确认项由用户逐项表态后闭合。
|
||||
|
||||
### 9.1 已确认(用户明确回答)
|
||||
|
||||
| # | 项 | 用户回答 |
|
||||
|---|---|---|
|
||||
| K1 | 变长指令(长度编码在 opcode) | 「变长指令,指令长度编码再opcode里面」 |
|
||||
| K2 | 寄存器 8 位编号 256/帧(容量恒定式) | 「寄存器大小不变,8bit*256 == 16bit*128 == ...」 |
|
||||
| K3 | 宽度编码进 opcode(非槽表带类型) | question 选「宽度编码进 opcode」 |
|
||||
| K4 | 初值整合 .stb 内分段(ELF 式) | question 选「整合在 .stb 内分段」 |
|
||||
| K5 | 全 32 位寻址(槽号 u32 + 地址 u32) | question 选「全 32 位寻址」 |
|
||||
| K6 | type:5(32 种,含 DATE/TOD/DT 19 基础类型) | 「B」 |
|
||||
| K7 | 跳转偏移字节化 | 「接受」 |
|
||||
| K8 | I/Q/M 六条合并为 LOAD/STORE 两条 | 「合并」 |
|
||||
| K9 | LOADF 取消(LOAD/STORE 16B 变体=字段访问) | 「LOADF和普通的LOAD应该没有区别吧」 |
|
||||
| K10 | ST 层类型全量(19 类型名进关键字) | 「全量」 |
|
||||
| K11 | 禁止隐式变量转换(编译期检查) | 「禁止隐式变换,只需要编译阶段检查」 |
|
||||
| K12 | 进制前缀(2#/8#/16#) | 「进制前缀」 |
|
||||
| K13 | A2 常量表(LOADK type 解释、条目 8B 无 tag、IMM64 预留) | 「使用常量表吧」+ 讨论 |
|
||||
| K14 | A3 计数单字/双字两种都要 | 「需要两种,单字的和双字的计数指令都要有」 |
|
||||
| K15 | A4 DATE/TOD/DT 字面量 v1 不支持 | 「先不支持」 |
|
||||
| K16 | A5 算术语义(饱和模板/TIME±/浮点 IEEE/DATE 不运算) | 「先做吧」 |
|
||||
| K17 | A6 sidecar 绑定粒度一致(slot=槽号) | 「应该可以保持一致」 |
|
||||
| K18 | A7 disasm 类型后缀(LOAD.I16 r5, s3) | 「类型后缀」 |
|
||||
| K19 | A8 type 表=基元别名(REAL→float32、LREAL→float64) | 「类型:编译器内建基元...float32-float,float64-double」 |
|
||||
| K20 | A9 字面量按上下文适配、默认 DINT 兜底 | 「就这么做」 |
|
||||
| K21 | B1 fb_id 16 位 | 「16位」 |
|
||||
| K22 | B2 1 CAL + fb_id(查 [[fb]] 表) | 「cal + fb_id」 |
|
||||
| K23 | B4 领域指令不进指令集(运动/通信走 FB 库) | 「不进指令集」 |
|
||||
|
||||
### 9.2 待确认(用户未明确回答)
|
||||
|
||||
| # | 事项 | 当前文档写法 | 待表态 |
|
||||
|---|---|---|---|
|
||||
| U1 | **格式合并 9→7**(CALL→IMM、CAL→SLOT,fmt 4→3 位) | §2.1 已写定案 | 接受 / 改 |
|
||||
| U2 | **长度组映射 4/8/16/32B**(32B 预留) | §2.1 已写 | 接受 / 改 |
|
||||
| U3 | **字节布局** `[len:2\|op:6] + [type:5\|fmt:3]` 两字节头 | §2.1 已写 | 接受 / 改 |
|
||||
| U4 | **结构体 v1 只留编码不实现语法**(原问题 5,未答) | §2.6 已写"不实现" | 预留 / 实现 |
|
||||
| U5 | **B3 最新方案**:fb 表拆条 CTU/DCTU/CTD/DCTD/CTUD/DCTUD(6 计数 + TON/TOF/TP/R_TRIG/F_TRIG = 11 条) | 用户提出,未最终确认 | 定案 / 改 |
|
||||
| U6 | **B5 op 预算**:基础 23 + 余 41,op:6 不扩 | 讨论过,未写文档 | 接受 / 改 |
|
||||
| U7 | **头 128 字节布局**(64/68 改义、n_slots/n_values、型号@72、112..127 预留) | §2.5 已写 | 未细审,确认 / 改 |
|
||||
| U8 | **槽表条目 {addr:u32, 预留:u32} 8B** | §2.3 已写 | 确认 / 改 |
|
||||
| U9 | **值段对齐 1/2/4/8B 编译器保证** | §2.3 已写 | 确认 / 改 |
|
||||
| U10 | **寄存器值 int64(8B)不变 + 调用约定 r0..r7 不变** | §2.2 已写 | 确认 / 改 |
|
||||
| U11 | **CAL 编码布局**(头2 + fb_id:16 + slot32 = 8B) | 讨论过未成文 | 确认 / 改 |
|
||||
| U12 | **C1 元数据段**:v1 定 0 长度占位、schema 延后 | §4 建议 | 确认 / 改 |
|
||||
| U13 | **DATE/TOD/DT 表示**(uint32 天 / uint32 当日ms / uint64) | §2.4 已写 | 确认 / 改 |
|
||||
| U14 | **CALL/CAL 的 rd 恒 0 约定**成文 | 讨论过未成文 | 确认 / 改 |
|
||||
| U15 | **无类型指令 type=NONE**(MOVE/跳转/CALL/RET 等) | §2.1 已写 | 确认 / 改 |
|
||||
| U16 | **off32 相对下一条公式**(目标=当前+off,字节单位) | §2.1 已写 | 确认 / 改 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user