Memory 寄存器和存储器,risc-v
我在我的大学学习计算机体系结构,我想我不知道计算机系统和C语言的基本概念,几乎没有什么东西让我困惑,我一直在搜索它,但找不到我想要的答案,让我更困惑,所以把问题上传到这里 一,。我认为寄存器在CPU中保存指令、存储地址或任何类型的数据。我还学习了内存布局 ------------------ 堆叠 动态数据 静态数据 正文 保留部分 ------------------ 那么寄存器在CPU中有这个内存布局吗?或者我只是把它和计算机的5个组件(输入、输出、内存、控制、数据路径)的内存布局搞混了。我认为这是这5个组件的布局之一 RISC-V(在C中循环时) 那么这个操作发生在哪里呢?登记Memory 寄存器和存储器,risc-v,memory,cpu-architecture,cpu-registers,riscv,Memory,Cpu Architecture,Cpu Registers,Riscv,我在我的大学学习计算机体系结构,我想我不知道计算机系统和C语言的基本概念,几乎没有什么东西让我困惑,我一直在搜索它,但找不到我想要的答案,让我更困惑,所以把问题上传到这里 一,。我认为寄存器在CPU中保存指令、存储地址或任何类型的数据。我还学习了内存布局 ------------------ 堆叠 动态数据 静态数据 正文 保留部分 ------------------ 那么寄存器在CPU中有这个内存布局吗?或者我只是把它和计算机的5个组件(输入、输出、内存、控制、数据路径)的内存布局搞混了。
- x0:常量值为0
- x1:回信地址
- x5-x7、x28-x31:临时性
x2
是“x1之后的下一个寄存器”或任何东西。e、 你不能在寄存器上循环它们只是两个独立的32或64位数据存储空间,软件可以随意使用。
分解它们的自然类别基于软件/调用约定:
- 堆栈指针
- 调用保留寄存器(函数调用不修改它们,反之,如果要在函数中使用一个寄存器,则必须保存/恢复它)
- 调用被删除的寄存器(必须假定函数调用是在这些寄存器上执行的,反之,可以在不保存/恢复的情况下使用)
- 零寄存器
另外,arg传递与返回值寄存器。现在一切都有意义了。谢谢大家!@彼得·考德斯
Loop:
slli x10, x22, 3
add x10, x10, x25
ld x9, 0(x10)
bne x9, x24, Exit
addi x22, x22, 1
beq x0, x0, Loop
Exit:...