2026 年的极客之作,追求架构的简洁性与统一性
#计算机体系结构 #RISC-V #开源项目 #指令集 #MinimaArch
大家好,我是 Michael-Hardy-2026。
今天,我想向大家介绍我最近启动的一个个人开源项目 —— MinimaArch。这是一个诞生于 2026 年 3 月 1 日的指令集架构(ISA)项目。在当前复杂的计算生态中,我试图回归本源,探索一种更简洁、更正交的架构设计。
🚀 项目简介
MinimaArch 的名字源于 "Minimalist"(极简)和 "Architecture"(架构)。正如其名,该项目的核心设计理念是保持架构的简洁性,同时确保正交性(Orthogonality)和统一性。
在这个项目中,我尝试剥离冗余,构建一套逻辑自洽、风格统一的指令集规范。如果你对计算机底层原理感兴趣,或者正在寻找一个轻量级的架构学习案例,MinimaArch 或许是一个不错的切入点。
✨ 为什么是 MinimaArch?
在设计之初,我为 MinimaArch 设定了三个核心目标:
- 简洁设计 (Concise Design):严格遵循极简原则,最大程度减少指令集中的冗余和复杂性,让开发者更容易上手和理解。
- 正交架构 (Orthogonal Architecture):指令设计保持高度正交,这意味着指令的操作码和操作数之间具有高度的独立性和一致性,这能显著提高编译器生成代码的效率。
- 统一风格 (Unified Style):从寄存器定义到指令编码,整个架构都保持一致的设计哲学。
🛠️ 技术规范概览
MinimaArch 目前是一个 32 位的架构体系,其技术规范主要包含以下几个部分:
1. 指令格式 (Instruction Formats)
为了适应不同的操作需求,MinimaArch 定义了 9 种标准的 32 位指令格式:
- R 格式:标准的寄存器-寄存器操作。
- R4 格式:支持四个寄存器操作数的扩展格式。
- I/S/U/J/B/JALR/CSRI:分别对应立即数操作、存储、高位立即数加载、跳转、分支和 CSR(控制状态寄存器)操作。
2. 指令集 (Instruction Sets)
目前项目已经实现了 MA32I 指令集。这是一个完整的 32 位整数指令集,涵盖了基本的算术逻辑运算(ALU)、加载/存储(Load/Store)以及分支跳转等核心操作。
3. 寄存器规范 (Registers)
架构定义了三类 32 个寄存器,分别服务于不同的计算场景:
- 通用寄存器 (x_regs):用于整数运算。
- 浮点寄存器 (f_regs):用于浮点运算。
- 向量寄存器 (v_regs):用于向量运算。
📂 项目结构
项目代码结构清晰,主要分为文档、规范定义和许可证三部分:
MinimaArch/
├── docs/ # 项目背景、设计图表等文档
├── spec/ # 核心规范文件 (YAML格式定义)
│ ├── inst_set/ # 指令集规范
│ └── reg/ # 寄存器ABI定义
└── license.txt # Apache 2.0 许可证
🤝 如何参与
MinimaArch 采用 Apache 2.0 开源协议,欢迎所有对架构设计感兴趣的开发者参与。
你可以通过以下方式加入我们:
- 阅读文档:查看
docs/why.md了解设计背后的故事。 - 提出建议:如果你发现 Bug 或有新功能建议,欢迎提交 Issue。
这是一个刚刚起步的项目,每一份关注和建议都至关重要。让我们一起构建这个极简的架构世界!
项目地址: github.com/Michael-Har…
联系邮箱: michael-hardy-2026@outlook.com
附件1:32位指令格式图片