 RISC-V 开放架构设计之道 1.0.0rs2 乘 R FMUL.{S|D} rd,rs1,rs2 x2 sp 被调用者 乘 R VMUL rd,rs1,rs2 除 R FDIV.{S|D} rd,rs1,rs2 x3 gp --- 除 R VDIV rd,rs1,rs2 求平方根 R FSQRT.{S|D} rd,rs1 x4 tp --- 求平方根 R VSQRT rd,rs1,rs2 乘加 乘加 rd,rs1,rs2 读异常标志 R FRFLAGS rd sp 栈指针 合并 R VMERGE rd,rs1,rs2 交换状态寄存器 R FSCSR rd,rs1 gp 全局指针 选择 R VSELECT rd,rs1,rs2 交换舍入模式 R FSRM rd,rs1 tp 线程指针 交换异常标志 R FSFLAGS rd,rs1 slti、sltiu)。虽然 RV32I 分 19 31 0 x0 / zero 硬连线为 0 x1 / ra 返回地址 x2 / sp 栈指针(Stack pointer) x3 / gp 全局指针(Global pointer) x4 / tp 线程指针(Thread pointer) x5 / t0 临时寄存器 x6 / t1 临时寄存器 x7 / t2 临时寄存器 x80 码力 | 223 页 | 15.31 MB | 1 年前3 RISC-V 开放架构设计之道 1.0.0rs2 乘 R FMUL.{S|D} rd,rs1,rs2 x2 sp 被调用者 乘 R VMUL rd,rs1,rs2 除 R FDIV.{S|D} rd,rs1,rs2 x3 gp --- 除 R VDIV rd,rs1,rs2 求平方根 R FSQRT.{S|D} rd,rs1 x4 tp --- 求平方根 R VSQRT rd,rs1,rs2 乘加 乘加 rd,rs1,rs2 读异常标志 R FRFLAGS rd sp 栈指针 合并 R VMERGE rd,rs1,rs2 交换状态寄存器 R FSCSR rd,rs1 gp 全局指针 选择 R VSELECT rd,rs1,rs2 交换舍入模式 R FSRM rd,rs1 tp 线程指针 交换异常标志 R FSFLAGS rd,rs1 slti、sltiu)。虽然 RV32I 分 19 31 0 x0 / zero 硬连线为 0 x1 / ra 返回地址 x2 / sp 栈指针(Stack pointer) x3 / gp 全局指针(Global pointer) x4 / tp 线程指针(Thread pointer) x5 / t0 临时寄存器 x6 / t1 临时寄存器 x7 / t2 临时寄存器 x80 码力 | 223 页 | 15.31 MB | 1 年前3
 The RISC-V Reader:
An Open Architecture AtlasFirst Edition, 1.0.0 - 2021{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT FRFLAGS rd sp Stack pointer MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Global pointer SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread RV32I 레지스터 21 31 0 x0 / zero Hardwired zero x1 / ra Return address x2 / sp Stack pointer x3 / gp Global pointer x4 / tp Thread pointer x5 / t0 Temporary x6 / t1 Temporary x7 / t2 Temporary x80 码力 | 232 页 | 5.16 MB | 1 年前3 The RISC-V Reader:
An Open Architecture AtlasFirst Edition, 1.0.0 - 2021{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT FRFLAGS rd sp Stack pointer MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Global pointer SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread RV32I 레지스터 21 31 0 x0 / zero Hardwired zero x1 / ra Return address x2 / sp Stack pointer x3 / gp Global pointer x4 / tp Thread pointer x5 / t0 Temporary x6 / t1 Temporary x7 / t2 Temporary x80 码力 | 232 页 | 5.16 MB | 1 年前3
 Guía Práctica de RISC-V:
El Atlas de una Arquitectura Abierta
Primera Edición, 1.0.5{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT FRFLAGS rd sp Stack pointer MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Global pointer SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread Capítulo 3 explica la convención de llamadas de RISC-V, la idea detrás de los varios punteros (sp, gp, tp, fp), registros guardados (en inglés, saved) (s0-s11), y Temporales (t0-t6) (La Figura 2.1 y Tabla0 码力 | 217 页 | 29.97 MB | 1 年前3 Guía Práctica de RISC-V:
El Atlas de una Arquitectura Abierta
Primera Edición, 1.0.5{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT FRFLAGS rd sp Stack pointer MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Global pointer SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread Capítulo 3 explica la convención de llamadas de RISC-V, la idea detrás de los varios punteros (sp, gp, tp, fp), registros guardados (en inglés, saved) (s0-s11), y Temporales (t0-t6) (La Figura 2.1 y Tabla0 码力 | 217 页 | 29.97 MB | 1 年前3
 Guia prático RISC-V
Atlas de uma Arquitetura Aberta
Primeira edição, 1.0.0FMUL.{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT rd Flags R FRFLAGS rd sp Ponteiro p. pilha MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Ponteiro global SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread pointer RV32I. O Capítulo 3 explica a convenção de chamada RISC-V, a lógica por trás dos vários ponteiros (sp, gp, tp, fp), registradores salvos (s0-s11) e temporários (t0-t6). (A Figura 2.1 e a Tabela 20.1 of [Waterman0 码力 | 215 页 | 21.77 MB | 1 年前3 Guia prático RISC-V
Atlas de uma Arquitetura Aberta
Primeira edição, 1.0.0FMUL.{S|D} rd,rs1,rs2 x2 sp Callee MULtiply R VMUL rd,rs1,rs2 DIVide R FDIV.{S|D} rd,rs1,rs2 x3 gp --- DIVide R VDIV rd,rs1,rs2 SQuare RooT R FSQRT.{S|D} rd,rs1 x4 tp --- SQuare RooT R VSQRT rd Flags R FRFLAGS rd sp Ponteiro p. pilha MERGE R VMERGE rd,rs1,rs2 Swap Status Reg R FSCSR rd,rs1 gp Ponteiro global SELECT R VSELECT rd,rs1,rs2 Swap Rounding Mode R FSRM rd,rs1 tp Thread pointer RV32I. O Capítulo 3 explica a convenção de chamada RISC-V, a lógica por trás dos vários ponteiros (sp, gp, tp, fp), registradores salvos (s0-s11) e temporários (t0-t6). (A Figura 2.1 e a Tabela 20.1 of [Waterman0 码力 | 215 页 | 21.77 MB | 1 年前3
 RISC-V 手册 v2(一本开源指令集的指南)有一个 5 级流水线,这 意味着 5 条指令并行 执行。最近的处理器有 10 多个流水级。 28 图 2.4:RV32I 的寄存器。第 3 章解释了 RISC-V 调用约定,各种指针(sp,gp,tp,fp),保存寄存器 (s0-s11)和临时寄存器(t0-t6)背后的基本原理(基于[Waterman and Asanovi'c 2017]的图 2.1 和表 20.1)。 尽可能地把两条指令替换为一条。每次替换会导致函数和调用它的位置之间的距离缩短,所 以链接器会多次扫描替换,直到代码不再改变。这个过程称为链接器松弛,名字来源于求解 方程组的松弛技术。除了过程调用之外,对于 gp 指针±2KiB 范围内的数据访问,RISC-V 链 接器也会使用一个全局指针替换掉 lui 和 auipc 两条指令。对 tp 指针±2KiB 范围内的线程 局部变量访问也有类似的处理。 480 码力 | 164 页 | 8.85 MB | 1 年前3 RISC-V 手册 v2(一本开源指令集的指南)有一个 5 级流水线,这 意味着 5 条指令并行 执行。最近的处理器有 10 多个流水级。 28 图 2.4:RV32I 的寄存器。第 3 章解释了 RISC-V 调用约定,各种指针(sp,gp,tp,fp),保存寄存器 (s0-s11)和临时寄存器(t0-t6)背后的基本原理(基于[Waterman and Asanovi'c 2017]的图 2.1 和表 20.1)。 尽可能地把两条指令替换为一条。每次替换会导致函数和调用它的位置之间的距离缩短,所 以链接器会多次扫描替换,直到代码不再改变。这个过程称为链接器松弛,名字来源于求解 方程组的松弛技术。除了过程调用之外,对于 gp 指针±2KiB 范围内的数据访问,RISC-V 链 接器也会使用一个全局指针替换掉 lui 和 auipc 两条指令。对 tp 指针±2KiB 范围内的线程 局部变量访问也有类似的处理。 480 码力 | 164 页 | 8.85 MB | 1 年前3
共 5 条
- 1













