不是RISC,也不是CISC。
它是字义指令集——指令不再靠英文缩写,而是直接使用汉字语义。
一、为什么需要一种“新类型”的指令集?
30多年来,处理器指令集被分为两大流派:
- CISC(复杂指令集):指令功能强、长度可变,典型代表 x86。
- RISC(精简指令集):指令等长、规整,典型代表 ARM、RISC-V。
这两类都有一个共同特点:指令助记符是英文缩写。
ADD、SUB、LDR、STR……非英语母语的开发者需要额外记忆几千个缩写组合。
于是我们想问:
为什么不能用中文写指令?为什么寄存器不能叫“乾、兑、离、震”?
伏羲-128 字义指令集,就是为了回答这个问题而设计的。
二、什么是“字义指令集”?
字义指令集是我提出的一个新类别:
- 指令的助记符是完整的汉字词语(如“加法”“加载”“分支”),而非英文缩写。
- 指令的语义直接通过汉字表达,不需要二次映射。
- 与 RISC 和 CISC 的划分维度不同——RISC/CISC 关注指令的复杂度,而字义指令集关注指令表达的语言载体。
伏羲-128 同时具备 RISC 的规整性(固定64位指令长度)和字义指令集的可读性(全中文助记符)。
三、伏羲-128 核心特色
3.1 全中文指令助记符
下面是一段羲和语言编写的程序,计算斐波那契数列:
函数 爻 斐波那契(爻 n) {
如果 (n <= 一) {
返回 n;
}
返回 斐波那契(n - 一) + 斐波那契(n - 二);
}
函数 爻 主程序() {
爻 结果 = 斐波那契(十);
输出整数(结果);
返回 零;
}
对应的汇编代码(伏羲-128 字义指令集):
段 .文本
全局 主程序
主程序:
加载立即数 兑, 十 ; R1 = 10
调用 斐波那契
存储 [结果地址], 兑
返回
斐波那契:
比较 兑, 一
分支相等 返回一
比较 兑, 零
分支相等 返回零
; 递归计算...
没有 ADD、SUB、MOV,取而代之的是 加法、减法、移动。
3.2 八卦寄存器
32个通用寄存器不再叫 R0~R31,而是:
乾 兑 离 震 巽 坎 艮 坤 ← 八卦
甲 乙 丙 丁 戊 己 庚 辛 ← 天干
壬 癸 子 丑 寅 卯 辰 巳 ← 地支
午 未 申 酉 戌 亥 中一 中二
其中 乾(R0)是只读零寄存器,写入被忽略;坤(R7)是栈指针。
这种命名方式不仅蕴含文化内涵,还能帮助记忆寄存器用途。
3.3 128位数据通路 + 512位向量
- 标量运算:128位整数 / 四倍精度浮点
- 向量运算:512位 SIMD(16个32位浮点 / 64个8位整数)
- 支持动态向量长度配置(256/512/768/1024位)
3.4 完整的自研工具链
| 组件 | 状态 | 说明 |
|---|---|---|
| 羲和语言 | ✅ 完成 | 全中文系统编程语言 |
| 常曦编译器 | ✅ 完成 | 自举编译,生成XH64字节码 |
| 帝俊模拟器 | ✅ 完成 | 周期精确模拟器 |
| 验证测试 | ✅ 完成 | 61项核心测试100%通过 |
| 乾坤OS内核 | ✅ 完成 | 微内核已移植到伏羲-128 |
四、验证结果
我们在模拟器上运行了完整的指令集测试:
>>> 运行算术运算测试...
算术运算: 20/20 通过
>>> 运行位运算测试...
位运算: 21/21 通过
>>> 运行寄存器和内存测试...
寄存器和内存: 20/20 通过
总测试数: 61
通过: 61
失败: 0
通过率: 100.0%
乾坤操作系统内核也成功在模拟器上引导。
五、与 RISC / CISC 的本质区别
| 对比维度 | RISC | CISC | 字义指令集(伏羲-128) |
|---|---|---|---|
| 指令长度 | 固定 | 可变 | 固定64位(RISC风格) |
| 指令助记符 | 英文缩写 | 英文缩写 | 全中文词语 |
| 寄存器命名 | 数字编号 | 数字编号 | 八卦+天干地支 |
| 编程语言 | C/C++/Rust | C/C++ | 羲和语言(全中文) |
| 设计哲学 | 精简硬件 | 复杂硬件 | 语义清晰,文化亲近 |
伏羲-128 不是“RISC的中文版”,而是一种以人类自然语言为第一优先的指令集设计。
六、下一步计划
- 完善文档:发布完整的指令集手册和羲和语言规范
- 开源部分工具:模拟器、测试套件(开源)
- 闭源核心:指令集详细编码、微架构设计作为商业秘密
- 寻找合作:FPGA 验证、高校教学合作、嵌入式客户
七、代码示例:向量加法
// 配置512位向量模式,元素为32位浮点
设置向量配置 五百一十二位, 单精度浮点
// 加载两个向量
向量加载 向量零, [输入地址一]
向量加载 向量一, [输入地址二]
// 执行向量加法
向量加 向量二, 向量零, 向量一
// 存储结果
向量存储 [输出地址], 向量二
结语
伏羲-128 是一次尝试:让中国人用中文设计处理器,让中文成为计算机硬件的“母语”。
它不是用来跑分的,也不是为了替代 x86。它的价值在于:提供另一种可能性——一个不需要背几千个英文缩写的世界,一个从指令集到编程语言都使用中文的生态系统。
技术应当为所有人服务,而不只是为英语母语者。
项目主页:即将开放
联系方式:玄同工作室
版权:© 2026 玄同工作室,保留所有权利。
如果这篇文章让你对“字义指令集”产生了兴趣,欢迎点赞、转发、留言讨论。