天天看点

RISC-V学习笔记(二)

1. RISC-V架构寄存器

1.1 32个通用寄存器

RISCV架构设计了32个通用整数寄存器和一个程序计数寄存器(PC),如下所示。

RISC-V学习笔记(二)
RISC-V学习笔记(二)

通用寄存器的长度在32位架构中为32位,在64位架构中为64位,下面介绍32个通用寄存器中比较重要的几个寄存器:

x0:这个寄存器恒为0,读取的值永远为0。

ra:用于保存函数调用返回地址,作用类似ARM架构中的lr寄存器。

sp:用于保存栈地址,RISCV下和ARM下一样,一般使用满减栈方式。

fp:用于保存栈帧,作用类似ARM下的bp寄存器。

a0~a7:用于传递函数调用的参数,并且a0一般用于保存函数返回值。

2 特权架构

RISCV架构下有三种特权级别,分别是Machine、Supervisor和User,简称M模式、S模式和U模式。M模式权限最高,在这个级别下的程序可以访问一切硬件和执行所有特权指令;S模式一般用于运行操作系统,可以设置MMU使用虚拟地址;U模式一般是普通应用程序使用,权限最低。

3 流水线

流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。

目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。

缺点:功耗增加,面积增加,硬件复杂度增加,总结一下,流水线就是插入寄存器,以面积换取速度。

采用流水线设计方式,不但可以提高处理器的工作频率,还可以提高处理器的效率。但是流水线并不是越长越好,流水线越长要使用的资源就越多、面积就越大。

在设计一款处理器之前,首先要确定好所设计的处理器要达到什么样的性能(或者说主频最高是多少),所使用的资源的上限是多少,功耗范围是多少。如果一味地追求性能而不考虑资源和功耗的话,那么所设计出来的处理器估计就只能用来玩玩,或者做做学术研究。

4 名词解释

微控制单元(Microcontroller Unit;MCU),又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影(就是一种SoC)。

System on Chip,简称SoC,也即片上系统。SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。