跳转至

灵犀Core v0.58.1 超标量启动概述

本页是中文摘要;完整规范来源为 rtl/LinxCore/docs/architecture/overview.md

范围

本文档是 灵犀Core 下的顶级规范概述 当前 灵犀指令集 v0.58.1 合约。

灵犀Core 此处指定为:

  • 灵犀指令集 的规范 super标量 乱序核心,
  • 标量、向量、瓷砖和 加速器支持的块工作,
  • 精确退休、恢复、中断、MMU、痕迹可见的拥有者 执行行为,
  • 下游编译器、模拟器、pyCircuit 和测试平台的机器 工作必须以规范的 v0.58.1 行为为目标。

该规范不是性能愿望清单,也不是历史记录 日志。它定义了实施必须保留的实时合同。

该合同中的每个架构上可见的阶段都必须依附于 命名模块边界。集成 shell 可以组成阶段模块,但它们 不得删除舞台所有权或将现场舞台隐藏在未区分的顶部内 胶水。

规范链接

  • 基础 ISA 架构合约:docs/zh/architecture/v0.58-architecture-contract.md
  • 工作负载到引擎模型:docs/zh/architecture/v0.58-architecture-contract.md
  • 渲染命令型号:docs/zh/architecture/v0.58-architecture-contract.md
  • 灵犀核心微架构合约:rtl/LinxCore/docs/architecture/microarchitecture.md
  • 灵犀核心接口合约:rtl/LinxCore/docs/architecture/interfaces.md
  • 灵犀核心验证矩阵:rtl/LinxCore/docs/architecture/verification-matrix.md当措辞出现分歧时,灵犀指令集 架构页面和 灵犀Core 上面列出的合同页是规范的。深入实施说明是 下属。

核心定义

灵犀Core 是块有序的异构 super标量 内核。

其定义属性是:

  • super标量 前端、调度、问题和提交行为,
  • 具有精确架构退役的无序执行,
  • BSTARTBSTOP 为架构的块结构控制流 界碑、
  • 通过 BROB 和块引擎路径进行 BID 排序的块跟踪,
  • 标量、内存、模板和的一种架构恢复模型 引擎支持的工作,
  • 一种用于提交和管道可见性的架构跟踪模型。

灵犀Core 没有为引擎定义第二个隐藏数据包机器。全部 加速器支持的工作必须保持从属于同一架构块 标量 工作时的流、完成模型、刷新规则和可观察性规则。

灵犀指令集 中的架构角色

v0.58.1 下,灵犀Core 是多工作负载的执行基板 灵犀指令集 型号。- BCC和块结构提供架构控制和提交 路径。 - VEC 是用于并行循环工作的通用可编程 SIMT 引擎。 - TLSU 仍然通过相同的块模型进行选择,但其内存传输 由 CSU 子系统拥有,而不是由对等顶级引擎 shell 拥有。 - CUBE 是矩阵计算引擎。TEPL 只是 Mode/Function 编码载体, 选中的操作按规范 catalog 路由到 VECSFU。 - 引擎支持的工作必须通过 灵犀Core 退出、取消、重定向和跟踪 规则而不是通过单独的架构域。

该组合规则需要与以下内容保持一致:

  • docs/zh/architecture/v0.58-architecture-contract.md
  • docs/zh/architecture/v0.58-architecture-contract.md
  • docs/zh/architecture/v0.58-architecture-contract.md

当前架构闭包切片

IFU 由两个独立反压的 decoupled engine 组成:

  • I-SIDE 拥有真实 I-F0 -> I-F1 -> I-F2 -> I-F3 -> I-F4 -> Instruction Buffer -> D1 流水;
  • B-SIDE 拥有跳转预测,只通过显式 request、prediction、training 和 redirect 接口与 I-SIDE 交互,并拥有 B-F0 -> B-F1 -> B-F2 -> B-F3 -> B-F4

两条流水相互解耦、不锁步:

  • I-F0:接受/选择 PC,分配 request/STID/epoch 身份;
  • I-F1:对同一 PC 并行启动 ITLB 与 L1I;
  • I-F2:汇合翻译和 cache 状态;ITLB miss 产生 I-SIDE inner flush;
  • I-F3:保存一个 cacheline、ECC/refill、byte cursor 和跨 line carry;
  • I-F4:判断 2/4/6/8-byte 长度,只识别 BSTART/BSTOP,把完整 指令零扩展成 64-bit 并写入独立 Instruction Buffer;
  • D1:每周期从 Instruction Buffer 读取四条 64-bit 指令,完成完整 opcode、operand、immediate、异常和 split/fuse 译码。

B-SIDE 分级为:B-F0 L0/NLP+checkpoint,B-F1 uBTB/RAS,B-F2 PBTB/BTB+BIM,B-F3 short/medium TAGE+IBTB launch,B-F4 static+long-TAGE/IBTB/loop/final arbitration。B-F4 是最后一个 prediction-driven inner flush 点;final record 随每条指令进入 D1,后续 Dispatch/BRU mismatch 使用 BRU flush/recover 并发布 frontend restart。

其余阶段:

  • D2:重命名请求/转换阶段和 ROB 可见边界解析。
  • D3:重命名-uop 锁存点。
  • S1:重命名后调度准备(路由和就绪查询)。
  • S2:实际 IQ 条目写入。
  • P1:IQ 选择阶段。
  • I1:操作数读取规划和RF读取端口仲裁。
  • I2:发出确认和 IQ 释放边界。
  • E1:第一个执行阶段。
  • W1:基线后期唤醒和解析阶段。这张通行证有意关注建筑舞台所有权和 界面形状。更详细的单元内部执行/旁路拓扑和完整的 提交机制仍然受规范中更广泛的合同管辖 微架构页面,直到后面的切片以相同的样式提升。

规格集

灵犀Core 规范分为四个合同页面:

  • overview.md:范围、角色、文档边界和权限规则。
  • microarchitecture.md:执行模型,详细的管道规则,恢复, 内存、BID、BROB 和引擎组合语义。
  • interfaces.md:pyCircuit、提交跟踪、灵犀Trace、块结构和 跨工具同步合约。
  • verification-matrix.md:合约 ID、门映射和所需证据。
  • ifu.md:I-SIDE/B-SIDE 解耦、I-F0..I-F4、B-F0..B-F4、Instruction Buffer、四宽 D1 和预测器接口的规范。

两个结构章节扩展了这些合同页面,并且是实时的一部分 super标量-核心规格:

  • module-catalog.md:规范模块系列和顶级组成。
  • pipeline-stage-catalog.md:每级设计、所有权以及级到模块 映射。

该目录中的其余文件是实现深入研究。他们可能 扩大机制,但不得削弱或重新定义现行合同。

真实来源模型

  • Canonical 灵犀Core 合约编写位于 rtl/LinxCore/docs/architecture/ 中。
  • 已发布的超级项目镜像位于 docs/architecture/linxcore/
  • tools/bringup/check_linxcore_arch_contract.py 验证了规范 页面和生成的镜像。
  • 独立开发树不是合约权威。

所需的关闭目标本规范的实时关闭目标是:

  • 灵犀指令集 v0.58.1 架构行为,
  • U+S特权行为,
  • MMU 和 中断 正确性,
  • 双通道重现性(pinexternal),
  • 严格要求关闭带有证据的物品。

阶段标签仍然可以在操作中使用,但规范本身是 门驱动,而不是日期驱动。

非目标

此概述不会冻结:

  • 最终频率、面积或功率目标,
  • 超出当前实时合约的未来宽度缩放,
  • 灵犀指令集 v0.58.1 尚未涵盖的未来引擎扩展 建筑合同,
  • 历史性的引导策略不再是实时行为的一部分。