📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
文章目录
一、指令集架构
ISA:即指令集架构(Instruction Set Architecture)。
功能:
✅定义了计算机体系结构中的指令集、寄存器、内存访问方式等;
✅定义了程序员与计算机硬件之间的接口,决定了可以使用哪些指令和操作,以及如何进行编程和执行指令。
种类:不同的计算机架构有不同的指令集架构。指令集架构可以分为:
✅CISC:复杂指令集架构(Complex Instruction Set Computer)使用一组较复杂的指令,其长度和处理时间可能有所不同。CISC架构的指令可以完成更复杂的操作,但执行速度相对较慢。CISC架构通常具有大量的寄存器,并且一条指令可以执行多个操作的组合。
✅ RISC:精简指令集架构(Reduced Instruction Set Computer)使用一组简单且固定长度的指令。这些指令执行速度较快,且易于进行指令流水线和优化。RISC架构通常具有少量通用寄存器,并且注重通过组合更多的简单指令来完成复杂操作。
✅比较:
指令集就是机器处理某些操作的命令集合,精简指令集支持常用指令,不常用的指令使用常用指令去组合,这样使用精简指令集制作的处理器整体性能较低,但是功效低、成本低,因此比较适合用于手机等智能终端处理器中;而与精简指令集相对于的就是复杂指令集,复杂指令集的优劣恰恰相反,它的整理性能较高,但是成本和高效都较高,因此比较适合用于个人电脑,典型代表就是Intel。
ISA设计原则:
✅1.成本 2.简洁性 3.性能 4.架构与具体实现的分离 5.提升空间 6.程序大小 7.易于编程/编译/链接。
所谓的ISA设计原则就是计算机架构师设计CPU的原则
常见的指令集架构:
✅ x86(如Intel和AMD处理器使用的指令集)
✅ ARM(广泛用于移动设备和嵌入式系统)
✅ MIPS
✅ Power Architecture
✅ RISC-V等
二、RISC-V概述
诞生:2010年诞生,RISC-V 目前是一个最新的,清晰的,简约的,开源的 ISA
意义:RISC-V是RISC的第五代架构,具有开源、可扩展、简洁、可定制和高度灵活等特点。
✅RISC-V指令集架构逐渐受到广泛关注和采用,用于各种应用领域,包括移动设备、服务器、嵌入式系统、物联网等。
✅其开放性和可定制性使得RISC-V被广泛用于学术研究、开发板、自定义处理器设计等领域。目标是成为一个通用的指令集架构(ISA)。
✅模块化,它的核心是一个名为RV32I的基础ISA;开源;稳定(目前RISC-V基金会的目标是保持RISC-V的稳定性);低功耗;袖珍化。
RISC-V指令集
✅RV32V指令
概念:RV32V指令是RISC-V架构中的32位向量指令集扩展。它引入了对向量操作的支持,可以更高效地执行并行计算任务。RV32V扩展定义了一组用于向量操作的指令,支持对连续的数据元素进行并行处理。这些指令通常用于向量计算、多媒体处理、图像处理和科学计算等领域。
使用RV32V指令集扩展进行向量操作时,可以利用处理器的硬件向量单元(vector unit)来并行处理多个数据元素。这可以显著提高计算效率和功耗效率,并适用于处理大规模数据集的任务。
常见向量操作指令
向量加载(vector load)
向量存储(vector store)
向量加法(vector addition)
向量乘法(vector multiplication)
向量最大值(vector maximum)
向量最小值(vector minimum)
✅RV64:即64位RISC-V指令集。
概念:在RV64架构中,寄存器的位数为64位,提供更大的寄存器空间和更广范围的数据处理能力。相比于32位的RV32架构,RV64架构可以处理更大的数据量、更高位数的整数和更精确的浮点数运算。RV64架构中的指令集与RV32架构类似,但所有的数据操作都是以64位为单位进行的。整数运算、逻辑运算、内存操作以及浮点数操作等指令都会基于64位的寄存器进行。
可选扩展指令集
RV64M(乘法扩展)
RV64A(原子指令扩展)
RV64F/RV64D(浮点数扩展)