RISC-V 32架构实践专题一(青稞V4F内核介绍)

        在前面进行了riscv架构的初步了解以及汇编指令的初步学习之后,接下来可以在具体的一个riscv架构芯片上进行实践。

        目前选用了沁恒微电子的青稞V4系列微处理器来进行实践学习。其采用了标准的RISC-V指令集架构,一个32位通用的MCU微处理器。具体选用型号CH32V307的MCU来进行本次专题的实践。

一、青稞V4F简介

        青稞V4F内核支持如下指令集扩展:

  • RV32:32位架构,通用寄存器位宽为32bit;
  • I指令模块:支持整形操作,具有32个整形寄存器(通用寄存器);
  • M指令模块:支持整形乘法和除法指令;
  • A指令模块:支持原子指令;
  • C指令模块:支持16位压缩指令;
  • F指令模块:支持单精度浮点操作,具有32个浮点寄存器(用于浮点运算);
  • XW指令模块:自扩展字节和半字操作的16位压缩指令。

         同时青稞V4F只支持riscv架构中的两种特权模式:

  • 机器模式,该模式具备最高权限,可以访问所有的CSR以及除物理内存保护单元锁定之外的所有物理内存;同时mcu上电时默认处于机器模式下,并且当执行mret指令后,根据CSR的mstatus寄存器中MPP位,来确定返回到哪个特权模式下。
  • 用户模式,该模式仅具备最低权限,只能访问特定的CSR寄存器和物理内存保护单元运行的物理地址区域;当发生中断或异常时,mcu将进入机器模式。

二、青稞V4F的CSR寄存器简介

        青稞V4F具备一部分riscv标准的csr寄存器,以及厂商自定义的csr寄存器。其csr寄存器列表如下图所示:

        下面对部分csr寄存器进行简要的说明:

2.1 marchid:

        架构id寄存器,此寄存器为只读寄存器,描述了青稞V4F内核的厂商、架构名称以及版本等信息;

2.2 mstatus:

        机器状态寄存器,此寄存器存为可读可写寄存器,青稞V4F内核厂商根据标准的riscv架构来进行设计的此寄存器,但是对比标准的mstatus寄存器,青稞V4F内核也仅实现了此寄存器的部分域,如下图所示:

        此寄存器的FS域用于开启关闭硬件浮点运算功能,如此域为0x00,并且此时使用浮点指令,那么将出现指令异常;

        MPP域为保存进入异常或中断前的特权模式,用于退出异常或中断后的特权模式恢复;例如在用户模式时,发生了异常或中断,此时MPP域的值将被更新为0;然后当异常或中断返回后,MCU将进入MPP域保存的模式;

        MIE域为全局中断使能位,当进入异常或中断时,MPIE的值被更新为MIE值;当异常或中断返回时,MIE的值将恢复成MPIE的值。

2.3 mtvec

        该寄存器器用于存储异常或中断处理程序的基地址,并且低两位用于配置向量表的模式和识别方式。

        bit0为选择中断或异常的入口模式,决定是采用统一入口地址,然后读取中断原因寄存器来执行相应中断处理函数分支的方式;还是采用独立入口编址,每个中断源被触发后,都会执行唯一对应的一个入口地址的方式。

        bit[31:2]则为中断统一入口地址或向量表的基地址。

2.4 mepc

       该寄存器用于保存进入异常或中断时的程序指针,其用于在产生异常或中断时保存进入异常前的指令 PC 指针,当处理完异常或中断后,mepc 被作为返回地址,用于异常或中断返回。 但值得注意的是:

  • 当发生异常时,mepc寄存器被更新为当前产生异常的指令的PC值;
  • 当发生中断时,mepc被更新为下一条指令的PC值。(也就是比异常的情况多+4)
        青稞V4F内核的介绍就进行到这里了,如果想要深入了解更多的相关知识,请查阅《QingKeV4_Processor_Manual》手册。
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: RISC-V架构手册是一本介绍RISC-V指令集体系结构的重要参考资料。RISC-V是一种开放的指令集架构,具有可扩展性、灵活性和高效性的特点。 首先,RISC-V架构手册详细介绍RISC-V指令集中的所有指令,包括常用的算术指令、逻辑指令、存取指令、分支指令等。它不仅列出了每个指令的编码格式和操作码,还详细说明了每个指令的功能和使用方法。这样的信息对于开发RISC-V处理器的工程师来说至关重要。 其次,RISC-V架构手册还介绍RISC-V处理器的基本结构和中断处理机制。它详细解释了数据通路、控制单元和存储器等组件的连接方式和工作原理。同时,手册还讨论了RISC-V处理器的中断处理流程,包括中断的触发条件、中断处理程序的执行和中断返回等。这对于编写操作系统或者驱动程序的开发者来说非常有帮助。 此外,RISC-V架构手册还包含了关于扩展特性和可选模块的说明。它介绍了如何在RISC-V架构上扩展自定义指令或者功能,以及如何添加可选的模块,如浮点单元、虚拟内存管理等。这样的灵活性使得RISC-V架构非常适合于各种应用领域,从嵌入式系统到超级计算机。 总的来说,RISC-V架构手册是开发人员和研究人员掌握RISC-V指令集和架构设计的重要参考资料。它全面介绍RISC-V指令集的各个方面,并提供了实现RISC-V处理器的指导。通过学习和理解这本手册,人们可以更好地应用和推广RISC-V架构,推动开源指令集的发展。 ### 回答2: RISC-V(精简指令集计算机-五)架构手册是一份完整的指南,用于描述和解释RISC-V计算机架构的细节和规范。这个手册为开发者和研究人员提供了一个详细的参考,以了解和标准化他们在RISC-V处理器设计和实现方面的工作。 RISC-V架构手册包含多个章节和附录,涵盖了RISC-V指令集的不同方面。它首先介绍RISC-V的设计原理和目标,比如简洁性、可扩展性和定制化能力。然后,手册详细说明了RISC-V指令集的不同指令格式和编码规则,包括指令解码过程和操作码的定义。 这个手册还涵盖了RISC-V的寄存器和寄存器文件,描述了它们的使用方法和特殊规则。此外,手册还提供了关于异常处理机制和中断处理机制的解释,以及RISC-V中的特权级别和特权模式的详细信息。 RISC-V架构手册还包含了有关内存管理单元(MMU)和虚拟内存系统的信息,说明了RISC-V支持的不同内存访问方式和存储体系结构的细节。此外,手册还提供了有关浮点运算和向量指令集的详细说明以及其使用方法。 除了这些主要内容外,RISC-V架构手册还提供了一些附录,包括指令集的变种和扩展,以及示例代码和编程实例。这些附录为开发者提供了实际应用和开发RISC-V处理器的指导支持。 总之,RISC-V架构手册是一个重要的参考资料,用于理解和使用RISC-V计算机架构。它的详细说明和规范为开发者提供了标准化和统一化的参考,以便设计、实现和优化RISC-V处理器。 ### 回答3: RISC-V架构手册是一本详细介绍RISC-V指令集架构的重要参考资料。RISC-V是一种新兴的开源指令集架构,其优势在于简洁、可扩展和高度灵活。RISC-V架构手册系统地介绍RISC-V指令集的各种特性和用法。 首先,RISC-V架构手册提供了RISC-V指令集的全面介绍。它详细解释了RISC-V的指令编码方式、寄存器组织、内存管理机制等基本概念。通过学习手册,人们可以了解到RISC-V指令的格式和操作方式,从而能够编写符合RISC-V架构的程序。 其次,RISC-V架构手册系统介绍RISC-V的扩展指令集。RISC-V提供了一种模块化的设计理念,允许用户根据不同的应用需求选择使用不同的指令集扩展。手册详细介绍RISC-V的各种扩展,如乘法/除法扩展、向量扩展等,并提供了使用这些扩展的示例和指导。 另外,RISC-V架构手册还介绍RISC-V的异常处理和中断机制。这些机制对于系统安全和稳定运行非常重要。手册详细解释了异常和中断的分类、处理流程以及相关的指令和寄存器。通过学习手册,人们可以了解到如何在RISC-V架构中设计有效的异常处理和中断控制机制。 最后,RISC-V架构手册还介绍RISC-V的特殊指令和特殊寄存器。这些特殊指令和寄存器常用于系统级编程和性能优化。手册提供了这些指令和寄存器的详细说明和使用方法,帮助人们充分发挥RISC-V架构的优势。 综上所述,RISC-V架构手册是学习和理解RISC-V指令集架构的重要工具。通过研读手册,人们可以掌握RISC-V的基本概念、指令格式和操作方式,进而能够灵活应用RISC-V的各种扩展和特殊功能,为不同的应用场景设计高效的RISC-V架构系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值