指令集架构的选择

我们还需要选择一个合适的指令集平台。指令集平台的选择不仅关系到硬件的支持范围和性能表现,也直接影响开发的难度。 对于学习和开发而言,一个易于理解、结构清晰的指令集尤为重要。它能够帮助开发者快速上手,专注于操作系统原理的学 习和实现,而不是被复杂的指令编码或特殊的硬件机制所困扰。

x86 和 ARM 指令集

x86和ARM作为当今应用最广泛的两大指令集架构,各自具有显著的优势和局限性。x86凭借其强大的性能和成熟的生态系统, 在PC和服务器领域占据主导地位;而ARM则以低功耗和灵活的设计,成为移动设备和嵌入式系统的首选。 然而,x86存在一些不足之处。x86是复杂指令集(CISC),其指令集庞大且设计复杂,学习难度较高,不同指令之间存在功 能重叠和操作方式差异,这使得开发者在理解和优化时面临挑战。而ARM则采用精简指令集(RISC),虽然性能不如x86,但其 简洁的设计使得学习和使用更加友好,特别适合开发者快速上手。ARM的授权模式是其与其他指令集架构的最大区别之一。ARM 并不直接生产芯片,而是通过授权将其架构和处理器设计许可给其他公司。近几年,由于ARM拒绝向中国企业出售高端芯片,我 们面临着芯片供应受限的问题,因此不得不寻求替代方案。

开源新星 RISC-V

RISC-V(Reduced Instruction Set Computing,精简指令集计算)起源于加利福尼亚大学伯克利分校(UC Berkeley) 的一项研究项目,旨在创建一个开放的、简洁且高效的指令集架构(ISA)。与先前的 RISC 架构相比,RISC-V 有几个显著的特点:

  • 开源与自由:RISC-V 的最大特色是它完全开源。与 ARM 或 x86 等专有架构不同,RISC-V 不依赖任何许可协议,任何人 都可以自由使用、修改和扩展其指令集。
  • 精简的设计:RISC-V 延续了 RISC 架构的理念,即简化指令集,使其具有更高的性能和可扩展性。RISC-V 只保留了最基础、 最常用的指令集,避免了复杂和冗余的指令,从而提高了处理器的性能、效率和易于实现的特点。
  • 面向未来的设计:RISC-V 的设计非常注重扩展性和可定制性。RISC-V 提供了灵活的设计,可以根据特定的需求(如嵌入式设 备、高性能计算或人工智能)进行不同的扩展。
  • 学术与工业界合作:RISC-V 不仅得到了学术界的广泛支持,也在工业界得到了越来越多的关注和投资。特别是在许多硅谷公司 和创业公司中,RISC-V 被视为一种具备巨大潜力的替代架构。

面对西方国家对我国芯片技术的限制和封锁,我们在加大自主研发芯片力度的同时,也积极向RISC-V架构靠拢。RISC-V作为一个开源且 高度灵活的指令集架构,提供了低成本、可定制和无需许可的优势,为我国在芯片设计和发展方面提供了新的机遇,并成为突破技术封锁、 实现自主可控的重要选择。

总之,RISC-V 是一个基于 RISC 设计理念的开源指令集架构,因其开放、灵活、低成本等优势,已经成为一个非常有前景的架构。 尤其在嵌入式、物联网和定制硬件等领域,RISC-V 展现出了巨大的潜力。随着社区和生态系统的不断发展,RISC-V 未来有可能挑战现 有的市场领导者,成为一种更广泛采用的架构。在整个项目中,我们将主要聚焦于RISC-V平台,进行功能设计和编码工作。


参考资料

RISC-V

riscv/riscv-isa-manual: RISC-V Instruction Set Manual

riscv-non-isa/riscv-asm-manual: RISC-V Assembly Programmer's Manual

riscv-non-isa/riscv-asm-manual: RISC-V Assembly Programmer's Manual

riscv-non-isa/riscv-elf-psabi-doc: A RISC-V ELF psABI Document