灵犀指令集 v0.56 架构合约¶
本文档是 灵犀指令集 v0.56 的实时公共架构合约。 它取代了所有 v0.56 之前的材料作为活动存储库基线,并定义了规范 下游编译器、模拟器、RTL 的着色器内核和渲染配置文件, 和运行时工作必须保留。
范围¶
- ISA 配置文件:仅限
v0.56 - 规范目录:
isa/v0.56/linxisa-v0.56.json - 规范黄金来源:
isa/v0.56/ - 规范内核执行状态:
isa/v0.56/state/kernel_execution.json - 规范渲染配置文件:
isa/v0.56/state/rendering_profile.json
工作负载目标¶
灵犀指令集 v0.56 不是仅渲染配置文件。该架构旨在
涵盖一个块结构 ISA 下的多个工作负载类别:
- 跨更广泛的 标量、向量 和分块功能的通用计算 机器,
- 面向AI的工作负载主要由
CUBE + VEC + TMA组成, - 主要由
VEC + TMA + TAU组成的面向渲染的工作负载。
这些工作负载配置文件共享相同的架构合同,并且不得 被描述为单独的不兼容机器。
跨工作负载类的可编程并行循环执行由
VEC:AI内核,例如softmax、渲染着色器和其他数据并行
循环工作全部通过规范的 SIMT 向量 模型运行,除非有更多
明确选择专用引擎。
架构组成仍然是 灵犀Core 原生的:- BCC 和块结构协调异构块执行,
- VEC、TMA、CUBE 和 TAU 通过相同的架构选择
块模型而不是通过单独的 GPU 包机,
- 引擎重叠和加速度仍然从属于现有的块/BID
排序、完成、刷新和恢复规则。
架构保证1. 块结构执行仍然是强制性的。¶
- 架构控制流目标必须解析为合法的块边界。
MPAR和MSEQ是 v0.56 中的规范着色器内核 块类型。 4、着色器内核是由B.TEXT选择的结构化外线块体流;当控制到达合法的 块体 终止符时,块体 终止是动态的,而不是 块体 文本中的第一个词法终止符。p是用于着色器内核执行的架构 64 位 EXEC 掩码。V.CMP.* ->p是规范的lane-mask 生成规则。- 着色器内核主体是组粒度发散的 SIMT 内核:一组 PC、显式 EXEC 掩码
p以及由当前B.TEXT块体 区域界定的组内部控制流。 - 内核
l.*与v.*执行域是由一个统一的lx64内核空间内的操作数类派生的。 - 内核全局内存访问仅使用桥接形式:
l.*.brg和v.*.brg。 - Tiles 仍然是通用的中间状态存储;第一个渲染配置文件使用 4KB
1024x1行主 SoA 片段/状态载体。 - TAU 执行仅限于tile-to-tile;小状态使用描述符,热/大状态使用 StateTiles。
- 矛盾的遗留原始片段仅是存档历史,并且在规范 v0.56 中是保留的或非法的。
- 特权状态、陷阱信封、模板重播标志和 块体 获取规则遵循 v0.56 手册和状态目录。
v0.56 Delta 摘要本节是架构级别变化的规范总结¶
较旧的公共基线变为实时 v0.56。
着色器内核体¶
Canonical v0.56 从旧的线性片段中提升 SIMT 着色器内核
模型转化为结构化内核体:
MPAR和MSEQ是规范的着色器内核 块类型,- 内核体可能包含结构化的 in-块体 控制流,
- 控制流是按组划分的,并且在组内可能会通过以下方式发散:
显式
p操作, - 遏制、进入、退出和终止规则是规范的
isa/v0.56/state/kernel_execution.json和ISA手动编程模型 章节。
统一内核执行域¶
Canonical v0.56 使用一个统一的 lx64 内核 - 块体 执行空间:
l.*与v.*的执行是由操作数类派生的,p是架构 64 位 EXEC 掩码,V.CMP.* ->p是规范的lane-mask生成规则,- 一组 PC 加上显式 EXEC 掩码更新定义内核分歧和 再收敛行为,
- 标量/组域源操作数在被
v.*使用时广播, - 直接
v.*写入 标量/group-domain 目的地是非法的,除非 通过明确的减少或掩码生成指令。
着色器内存路径¶
Canonical v0.56 使着色器内存路径明确:- 着色器内核全局内存仅使用桥接形式:l.*.brg 和
v.*.brg,
- l.*.brg 和 v.*.brg 共享相同的仅显式地址形成规则,
- 着色器内核内存问题参与架构桥接或 MTC
订购域,
- BCC 标量 内存问题在架构上已解决,而规范着色器
内核处于活动状态。
渲染和工作负载影响¶
Canonical v0.56 还冻结了高级工作负载和渲染影响
这些内核更改:
- ISA 是一台多工作负载机器,涵盖通用、人工智能和 渲染工作负载,
VEC是用于并行循环工作的通用可编程SIMT引擎,- 渲染使用 BCC 主导的块流提交模型,并且可以使用其中之一 即时风格或基于图块的管道策略,
- 精确的长期渲染阶段划分、分级所有权等 性能塑造管道的选择仍然被有意推迟,除非 后来的规范页面冻结了它们。
规范页面¶
docs/architecture/isa-manual/src/linxisa-isa-manual.adocdocs/architecture/v0.56-hardening-policy.mddocs/architecture/v0.56-simt-compiler-contract.mddocs/architecture/v0.56-workload-engine-model.mddocs/architecture/v0.56-rendering-kernel-authoring.mddocs/architecture/v0.56-rendering-pto-contract.mddocs/architecture/v0.56-rendering-command-contract.mddocs/architecture/linxcore/overview.mddocs/architecture/linxcore/microarchitecture.mddocs/architecture/linxcore/interfaces.mddocs/architecture/linxcore/verification-matrix.mddocs/architecture/linxcore/module-catalog.mddocs/architecture/linxcore/pipeline-stage-catalog.md
已发布的手动后视镜¶
公共文档网站现在公开了更广泛的补丁派生手册
与上面的规范页面一起的层次结构:- docs/background/
- docs/compiler/
- docs/isa/ 下导入的架构/状态/类型/指令系列页面
- docs/zh/ 下发布的表面的中文镜像
- 在 docs/isa/groups/ 下生成附录/参考页和
docs/isa/instructions/
这些发布的镜像不得在语义上偏离规范性合同。 如果导入/公共页面和规范合约页面不一致,则合约 页面必须更新或公共镜像必须立即更正。
灵犀Core 特定创作位于:
rtl/ZXTERMEN45QXZCore/docs/architecture/overview.mdrtl/ZXTERMEN45QXZCore/docs/architecture/microarchitecture.mdrtl/ZXTERMEN45QXZCore/docs/architecture/interfaces.mdrtl/ZXTERMEN45QXZCore/docs/architecture/verification-matrix.mdrtl/ZXTERMEN45QXZCore/docs/architecture/module-catalog.mdrtl/ZXTERMEN45QXZCore/docs/architecture/pipeline-stage-catalog.md
docs/architecture/linxcore/ 页面仍然是使用的已发布镜像
mkdocs 和架构导航。
一致性门¶
python3 tools/isa/build_golden.py --profile v0.56 --check
python3 tools/isa/validate_spec.py --profile v0.56
python3 tools/bringup/check_avs_contract.py --matrix avs/linx_avs_v1_test_matrix.yaml
python3 tools/bringup/check_avs_profile_closure.py --matrix avs/linx_avs_v1_test_matrix.yaml --status avs/linx_avs_v1_test_matrix_status.json --tier pr
python3 tools/bringup/check_sail_model.py
python3 tools/isa/check_canonical_v056.py --root .
python3 tools/bringup/check_linxcore_arch_contract.py --root . --strict --require-mkdocs
所有公共编译器、模拟器、RTL、Linux 和运行时更新都必须保留 这份合同。