# 我设计了一款中文指令集的CPU,还把它开源了

0 阅读5分钟

乾为天,坤为地,阴阳交泰,万物生焉。

你有没有想过,如果计算机的指令集用中文写,寄存器用八卦命名,会是什么样子?
我最近开源了一个项目:羲和CPU。它是一款64位RISC处理器,指令助记符全是中文,寄存器以八卦命名(乾、兑、离、震、巽、坎、艮、坤),调试器可以直接输出八卦符号,让冰冷的机器码多了一点文化的温度。

今天,我把它完整的设计文档、模拟器、工具链全部公开,希望更多人能一起玩,也希望能给计算机教学和本土化技术探索提供一个有趣的样本。


为什么做羲和CPU?

这个项目源于一次教学经历。我在教学生二进制分组时,发现很多人记不住 000~111 对应哪个数字。突然想到:如果换成八卦符号呢?
乾是天(000),坤是地(111),中间还有兑、离、震……每个卦象都有明确的含义,比数字好记多了。

于是我开始设计一个“懂中文”的CPU:

  • 指令用中文(加、减、乘、除、跳转、调用)
  • 寄存器用八卦命名
  • 调试时显示八卦符号,让内存值变得直观

后来我们越做越大,不仅有了CPU,还配套了羲和语言(纯中文编程语言)、乾坤OS(内核设计),形成了一套完整的“软硬一体”生态。


架构亮点

1. 八卦寄存器

羲和CPU-64位有8个通用寄存器,名字就是八卦:

寄存器八卦用途
R0累加器 / 返回值
R1通用
R2通用
R3临时寄存器
R4通用
R5通用
R6通用
R7返回地址 / 栈指针

此外还有天干、地支扩展寄存器,一共26个,足够日常使用。

2. 中文指令集

所有指令都用中文助记符,例如:

指令操作说明
加 Rd, Rs1, Rs2Rd = Rs1 + Rs2加法
减 Rd, Rs1, Rs2Rd = Rs1 - Rs2减法
乘 Rd, Rs1, Rs2Rd = Rs1 × Rs2乘法
除 Rd, Rs1, Rs2Rd = Rs1 / Rs2除法
跳转 目标PC = 目标无条件跳转
调用 函数坤=PC+4; PC=函数函数调用

配合羲和语言,你可以写出这样的代码:

函数 爻 阶乘(爻 n) {
    如果 (n <= 壹) {
        返回 壹;
    }
    返回 n * 阶乘(n - 壹);
}

然后编译成羲和CPU指令,在模拟器上运行。

3. 阴阳进制显示

羲和CPU的调试器可以直接用八卦符号显示内存和寄存器。例如,数值165会显示为 “初爻巽坎”,而不是枯燥的“10100101”。
这种显示方式对教学特别友好——学生看到八卦符号,自然就联想到二进制分组,更容易理解。

4. 64位扩展(八宫)

64位数据就是8组八卦(八宫),一次可以处理8字节。我们支持八宫字面量,比如 $兑兑兑兑兑兑兑兑 直接对应数值 2396745,写起来非常直观。


技术实现

指令格式

采用32位定长编码,分为R型(寄存器)、I型(立即数)、J型(跳转)、M型(内存)四种格式。

寄存器与栈帧

使用$坤作为栈指针,$乾作为返回值,支持标准的函数调用约定。

中断与异常

内置中断向量表和异常处理,支持系统调用(通过INT指令)。

内存模型

64位虚拟地址空间,支持三级页表,可运行现代操作系统内核。


现有成果

1. 羲和CPU模拟器(Python)

  • 完整实现指令集
  • 支持.xh64可执行文件加载与运行
  • 内置调试器(断点、单步、寄存器/内存查看)
  • 提供15个系统调用(打印、文件I/O、内存分配等)

2. 羲和语言编译器(Python)

  • 将羲和语言编译为羲和CPU机器码
  • 支持变量、函数、条件、循环、八卦字面量
  • 输出.xh64文件,与模拟器无缝对接

3. 在线演示器

为了方便体验,我们做了一个在线演示器(HTML+JS),直接在浏览器里写羲和代码,点击运行,立刻看到结果。
👉 羲和语言在线演示器(即将上线)

4. 完整文档(全部开源)


如何体验?

1. 直接在线体验(推荐)

打开在线演示器,输入:

函数 爻 主函数() {
    爻 a = 离巽坎;
    打印(a);
    返回 乾;
}

点击运行,看它输出什么。(演示器即将上线,敬请关注)

2. 本地运行模拟器

git clone https://gitee.com/xihe-ecosystem_1/xihe-cpu.git
cd xihe-cpu/src
python main.py examples/factorial.xh64

3. 编译自己的羲和程序

git clone https://gitee.com/xihe-ecosystem_1/xihe-compiler.git
cd xihe-compiler
python src/compiler_pipeline.py your_program.xh -o output.xh64
python ../xihe-cpu/src/main.py output.xh64

未来计划

  • 自举编译器:用羲和语言重写编译器,实现自举。
  • 乾坤OS内核:用羲和语言写一个完整的操作系统内核。
  • FPGA实现:将羲和CPU烧进FPGA,真正跑在硬件上。
  • 更多应用:基于羲和生态开发趣味小游戏、教学工具。

一起玩!

如果你对中文编程、传统文化与计算机结合感兴趣,欢迎:

  • 去Gitee仓库点个 ⭐,支持我们继续开发。
  • 克隆仓库,自己动手写个羲和程序。
  • 提Issue,分享你的想法或建议。

主仓库地址gitee.com/xihe-ecosys…
在线演示器obw1blfi5yff.space.minimaxi.com 交流群:QQ群(见Gitee主页)


让冰冷的二进制数据,拥有文化的温度。
期待和你一起,见证东方计算的未来。

玄同工作室
2026年3月27日