1.1 通用整数寄存器 RISC-V 架构提供32个通用寄存器x0-x31,其中x0 有些特殊,x0 寄存器被设置为硬件连线的常数0,读恒为0,写无效,这个寄存器在一些地方很有作用,因为程序运行中常数0的使用频率非常高,所以专门用一个寄存器来存放常数0,并没有浪费寄存器数量,并且使得编译器工作更加简便,这一点也是RISC-V架构优雅...
至于另一个 FPU控制 寄存器 fcsr,只是一些异常标志和舍入模式,暂未放进栈里 Stack Init 把浮点寄存器初始值均设为0 rt_uint8_t*rt_hw_stack_init(void*tentry, void*parameter, rt_uint8_t*stack_addr, void*texit) { struct rt_hw_stack_frame *frame; rt_uint8_t*stk; int i; stk = stack_ad...
x8s0/fp需要保存的寄存器或者帧指针寄存器 x9s1需要保存寄存器 x10~x11a0~a1函数参数或者返回值寄存器 x...
x5-x7,x28-x31寄存器:别名t0-t6,临时寄存器 x8-x9,x18-x27寄存器:别名s0-s11,其中s0可用作栈帧指针(FP) x10-x17寄存器:别名a0-a7,在函数调用中传递参数和返回值 系统寄存器 用于系统控制和状态的寄存器,对处理器进行不同的功能配置。其指令编码的Bit[31:20]为csr字段,其中,[11:10]表示读写属性,[9:8]表...
目录 收起 寄存器 通用寄存器 PC寄存器 RISC-V 汇编 汇编指令 寄存器 通用寄存器 32个通用寄存器,x0 ~ x31代表。 x0 是 零值寄存器:读出来的值永远为 0 ,写入的值将会被丢弃。 1个返回地址寄存器:x1/ra 4 个指标寄存器: x2/sp x3/gp x4/tp x8/fp/s0:说明 fp 和 s0 是一个寄存器;如果用来作 ...
CPU 中配有大量的寄存器,这些指令的选取都是工程中使用频率最高的指令。由于指令长度一致,功能单一,...
寄存器名称 ABI名称 说明 存储者 x0 zero 读取时总为0,写入时不起任何效果 N/A x1 ra 程序返回地址 Caller x2 sp 栈空间指针 callee x3 gp 全局变量指针(基地址) / x4 tp 线程变量指针(基地址) / x5 ~ x7 t0 ~ t2 临时寄存器 Caller x8 s0/fp 保存寄存器/帧指针(配合栈指针界定函数栈) Callee x9...
FP 矢量单元细分为 8×32 位 FMA,能够执行高达 16 SP FLOPs/cycle 或 32 HF FLOPs/cycle。整数向量单元的宽度为 512b,是 FP 向量单元的两倍。该单元细分为 16×32 位 TIMA,能够执行多达 128 个 INT8 OP/周期。虽然可以从 FP 向量寄存器文件中输入 FP 向量单元,但两倍宽的整数向量单元需要从 FP 向量寄存...