学习:灵犀指令集

https://linxisa.github.io/background/ 是 LinxISA / 灵犀指令集​ 的官方文档页

1. 它是什么:Block-Structured ISA

灵犀指令集(LinxISA)的核心不是"又一套 RISC",而是 以块(block)为执行单元的层次化 ISA:

  • 程序不是纯平铺指令流,而是由 BSTART / BSTOP 等边界分成"指令块"
  • 块内:一组微指令 / 块体指令,显式表达依赖、输入、输出
  • 块外:仍用控制流 / 跳转 / 调用约定组织
  • 块头(block header):描述块属性、参数、跳转、执行模式
  • 块体(block body):真正计算
  • 寄存器分两层:
    • 全局 / 共享层(GGPR、SGPR 等)
    • 块私有层(LGPR、TILE、VGPR 等)

官方自己说:目标是统一 Scalar / Vector / Tile,融合 SIMD 与 SIMT,覆盖 CPU、AI、图形类负载。

思想来源也不是凭空来:

  • Stanford BLISS(Block-Aware ISA, 2006)
  • EDGE / TRIPS(块内依赖图、块外控制流)
  • 数据流处理器(1970s)
  • VLIW 的"编译器显式并行"思路

2. 和 x86 / ARM / RISC-V 的本质区别

维度 x86/ARM/RISC-V LinxISA
执行单位 单条指令 指令块
并行性来源 硬件 OoO + 分支预测 + 调度器 编译器静态成块 + 硬件按块调度
寄存器模型 扁平 GPR/Vector/Tile 全局层 + 块私有层
异构计算 CPU / GPU / NPU 各一套 ISA 同一 ISA 内 Scalar/Vector/Tile
依赖关系 硬件重排 / 记分牌 / 发射队列 块内依赖图由编译器编码进块
AI 计算 扩展指令(SME / AVX / RVV / Matrix) 原生 Tile / 张量块

所以它更像:

VLIW + EDGE + RISC 块体 + GPU/Tensor 编程模型 的混合体


3. 技术亮点

✅ 1)块级并行(Block-Level Parallelism)

单核内可以把多个"块"当作 micro-task 并发调度,不只是指令级并行(ILP)。

✅ 2)块头 / 块体解耦

  • 块头:控制、参数、跳转、权限、异常
  • 块体:计算
    → 前端做控制解析,后端做数据计算,适合宽发射、宽向量、Tile 引擎。

✅ 3)显式依赖,降低硬件复杂度

传统 OoO CPU 要用大量逻辑做:

  • 寄存器重命名
  • 依赖检测
  • 分支预测
  • 投机执行
  • 回滚

LinxISA 把部分工作推给编译器:块内依赖图直接编码,硬件可以更像"块调度器 + 执行阵列"。

✅ 4)统一 Scalar / Vector / Tile

文档里已经有:

  • 标量块
  • 浮点标量块
  • 向量块
  • 矩阵 / Tile 块
  • 访存数据块
  • 系统块
  • 系统调用块
  • 张量指令(TMATMUL、TGEMV、TROWSUM...)

这意味着:

从 C 函数 → 向量核 → 矩阵乘 → AI kernel,可以用同一套 ISA 表达

✅ 5)层次化扩展空间

第二层架构可以有独立编码空间、寄存器、指令定义,产品线能加定制指令,又不破坏第一层架构状态。

这对"厂商自定义加速单元"很友好。


4. 风险和难点(比技术亮点更重要)

❌ 1)编译器负担极重

块结构 ISA 的命门永远是编译器:

  • 块划分
  • 寄存器分层分配
  • 块间调度
  • 异常 / 中断 / 页错误恢复
  • 热路径重块化
  • 老代码(C/C++/Rust/Go)怎么映射

Itanium / VLIW 的历史已经证明:

如果编译器搞不定动态、指针密集、分支难测的代码,架构再漂亮也会翻车。

❌ 2)通用 OS / 数据库 / 浏览器不一定舒服

灵犀适合:

  • 矩阵乘
  • 卷积
  • 归一化
  • 向量循环
  • 推理 / 训练 micro-kernel

不一定适合:

  • 复杂系统调用路径
  • 锁竞争
  • 虚函数
  • 解释器
  • GC
  • 不规则图遍历

❌ 3)生态从零开始

指令集不是"能跑 Hello World"就成功,而是要:

  • Linux 完整移植
  • LLVM/GCC
  • glibc/musl
  • QEMU
  • 调试器
  • 性能分析
  • 容器 / 运行时
  • CUDA/OpenCL/PyTorch/TensorFlow 后端
  • 主板 / MMU / IOMMU / 设备驱动

官方文档站已经配套 LLVM、QEMU、Linux、LinxCore RTL、glibc/musl,这比只发 PDF 的 ISA 强很多;但离"生态成立"还差十年级投入。

❌ 4)硬件实现收益未经验证

"少乱序、少分支预测 → 更省面积/功耗"是理论上的:

  • 块调度器本身不便宜
  • Tile/Vector 阵列、依赖解析、异常回滚、块间同步都会吃掉收益
  • 没有 SPEC / MLPerf / 真实芯片对比,不能说"比 ARM/x86/NVIDIA 更高效"

❌ 5)"谁提出"证据不足

  • 媒体说华为 2019 申商标、2022 申 LinxiISA
  • 但 LinxISA 文档站没写 Huawei Inc.
  • 许可证署名被第三方指出是 Kevin Zhou
  • 所以更准确说法:

灵犀指令集是一个"中文圈广泛传为华为相关"的块结构 ISA 项目;截至公开材料,不能确认它就是华为公司级官方主线架构。


5. 一句话技术判断

灵犀指令集(LinxISA)是一个有完整文档、工具链和 RTL 野心的 Block-Structured Unified ISA,方向上有新意,但属于"高风险的架构豪赌":

  • 技术上:比 RISC-V 更激进一步,想把 CPU/GPU/NPU 的语义统一到"块"
  • 工程上:编译器、OS、驱动、AI 框架全部要重做
  • 商业上:不是"做出来就赢",而是"生态活下来才赢"
  • 现实上:短期别信"替代 ARM/x86/CUDA",长期才看它能不能跑通 AI + 通用计算混合负载
相关推荐
叼烟扛炮7 小时前
[LangChain] 学习笔记(07):大模型长出手脚——工具(Tools)定义与调用闭环
笔记·学习·langchain
叼烟扛炮11 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.12 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
蒸蒸yyyyzwd14 小时前
关于 AI 开发相关的一些面经。
笔记·学习
坤坤子吖20 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
蒸蒸yyyyzwd1 天前
后端相关学习笔记。
笔记·学习
旖旎夜光1 天前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
橙橙笔记1 天前
QT的学习第四部分
linux·qt·学习·音视频
叼烟扛炮1 天前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
在猴站学算法1 天前
(《统计学习方法》(第2版) 李航)第2章 感知机算法
学习·算法·机器学习·统计学习