现代CPU如何自动把虚拟地址转换成物理地址的硬件电路?
发布网友
发布时间:2022-08-26 06:29
我来回答
共1个回答
热心网友
时间:2023-12-16 11:02
虚拟内存是一个由存放在磁盘上的N个连续的字节大小的单元组成的数组。每个字节都有一个唯一的地址,就是虚拟地址。
通常,虚拟地址由页号和偏移量组成,页号就是抽象的虚拟页的编号,偏移量用于计算实际的物理地址。虚拟地址和物理地址的关系。进程虽然使用虚拟地址,但是用数据时还是要到实际的物理地址去取数据。
这就存在一个虚拟地址到物理地址的转化运算,这是由CPU芯片上一个叫做内存管理单元(MMU)的专用硬件来实现的。通常,物理地址=页号*页大小+页内偏移量。虚拟寻址CPU通过虚拟地址来访问主存,访问内存使用的物理地址,MMU通过将虚拟地址进行翻译,转化为物理地址,然后再用这个物理地址去访问内存数据。