Dynamic Relocation

贡献者:lgzgg 类别:英文 时间:2019-01-09 12:56:56 收藏数:11 评分:1
返回上页 举报此文章
请选择举报理由:




收藏到我的文章 改错字
To gain some understanding of hardware-based address translation,
we'll first discuss its first incarnation. Introduced in the first time-sharing
machines of the late 1950's is a simple idea referred to as base and bounds;
the technique is also referred to as dynamic relocation; we'll use both
terms interchangeably.
Specifically, we'll need two hardware registers within each CPU: one
is called the base register, and the other the bounds (sometimes called a
limit register). This base-and-bounds pair is going to allow us to place the
address space anywhere we'd like in physical memory, and do so while
ensuring that the process can only access its own address space.
In this setup, each program is written and compiled as if it is loaded at
address zero. However, when a program starts running, the OS decides
where in physical memory it should be loaded and sets the base register
to that value. In the example above, the OS decides to load the process at
physical address 32 KB and thus sets the base register to this value.
Interesting things start to happen when the process is running. Now,
when any memory reference is generated by the process, it is translated
by the processor in the following manner:
Each memory reference generated by the process is a virtual address;
the hardware in turn adds the contents of the base register to this address
and the result is a physical address that can be issued to the memory
system.
声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。
文章热度:
文章难度:
文章质量:
说明:系统根据文章的热度、难度、质量自动认证,已认证的文章将参与打字排名!

本文打字排名TOP20

用户更多文章推荐