[新架构启航] MinimaArch:一个简洁且正交的指令集架构 (ISA) 项目开源

0 阅读3分钟

2026 年的极客之作,追求架构的简洁性与统一性

#计算机体系结构 #RISC-V #开源项目 #指令集 #MinimaArch


大家好,我是 Michael-Hardy-2026。

今天,我想向大家介绍我最近启动的一个个人开源项目 —— MinimaArch。这是一个诞生于 2026 年 3 月 1 日的指令集架构(ISA)项目。在当前复杂的计算生态中,我试图回归本源,探索一种更简洁、更正交的架构设计。

🚀 项目简介

MinimaArch 的名字源于 "Minimalist"(极简)和 "Architecture"(架构)。正如其名,该项目的核心设计理念是保持架构的简洁性,同时确保正交性(Orthogonality)和统一性

在这个项目中,我尝试剥离冗余,构建一套逻辑自洽、风格统一的指令集规范。如果你对计算机底层原理感兴趣,或者正在寻找一个轻量级的架构学习案例,MinimaArch 或许是一个不错的切入点。

✨ 为什么是 MinimaArch?

在设计之初,我为 MinimaArch 设定了三个核心目标:

  1. 简洁设计 (Concise Design):严格遵循极简原则,最大程度减少指令集中的冗余和复杂性,让开发者更容易上手和理解。
  2. 正交架构 (Orthogonal Architecture):指令设计保持高度正交,这意味着指令的操作码和操作数之间具有高度的独立性和一致性,这能显著提高编译器生成代码的效率。
  3. 统一风格 (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 开源协议,欢迎所有对架构设计感兴趣的开发者参与。

你可以通过以下方式加入我们:

  1. 阅读文档:查看 docs/why.md 了解设计背后的故事。
  2. 提出建议:如果你发现 Bug 或有新功能建议,欢迎提交 Issue。

这是一个刚刚起步的项目,每一份关注和建议都至关重要。让我们一起构建这个极简的架构世界!

项目地址: github.com/Michael-Har…

联系邮箱: michael-hardy-2026@outlook.com


附件1:32位指令格式图片 fmt_chart.png