【发布时间】:2012-12-12 09:37:42
【问题描述】:
将虚拟地址的内容加载到特定寄存器时,作为进程的一部分,硬件和操作系统中需要发生的一些一般事件序列是什么?
例如, LD 0xffe4ca32, R1
用于此的地址是虚拟地址,对吗? 并且它需要先经过一些地址转换才能获得物理地址。
我的第一个问题是,
When this instruction executes, how is this instruction handled by the Hardware and Operating System?
我的第二个问题是,
Is the "value" of that virtual address, 0xffe4ca32, the contents of its mapped physical address or is it the physical address itself?
我只是不清楚 R1 中加载了什么
【问题讨论】:
-
您应该提及您对哪种硬件架构感兴趣。x86?
-
是的,但我的意思是一般地问这些问题,不一定是特定于架构的。只是需要在硬件和操作系统中发生的一些一般事件序列
-
但实际发生的情况取决于架构。在 AVR 微控制器上,这样的指令只会将这个内存地址的值加载到那个寄存器中——就是这样。没有虚拟内存,什么都没有。在更大的架构上,这可能要复杂得多。
标签: memory-management operating-system virtualization