【发布时间】:2020-08-27 12:32:28
【问题描述】:
我在我的大学学习计算机体系结构,我想我不知道计算机系统和 C 语言概念的基础知识,很少有事情让我感到困惑,我一直在寻找它,但找不到答案想让我更困惑所以在这里上传问题。
1。我认为寄存器在 CPU 中保存一条指令、存储地址或任何类型的数据。我还学习了内存布局。
------
堆栈
动态数据
静态数据
文字
保留部分
------
那么寄存器在 CPU 中有这样的内存布局吗?或者我只是将它与计算机的 5 个组件(输入、输出、内存、控制、数据路径)的内存布局混淆了。我认为这是这 5 个组件的布局之一。
RISC-V(C 中的 while 循环)
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:...
那么这个操作发生在哪里呢?注册?
- 我学习了 RISC-V 寄存器,如下所示。
- x0:常数值0
- x1:返回地址
- ...
- x5-x7、x28-x31:临时文件
- ...
如果寄存器在我上面绘制的那个内存布局中,那么x0,x1的东西包含在哪里?从这里开始没有意义。所以我很困惑我怎么能认为注册看起来像。
在我的脑海中一切都是那么抽象,所以我猜这个问题听起来有点奇怪。如果有什么不明白的,请给我评论。
【问题讨论】:
标签: memory cpu-architecture cpu-registers riscv