. 有如图所示的页表中的虚地址与物理地址之间的关系即该进程分得6个主存块。页的大小为4096。给出对应下面虚地址的物理地址。(1) 20;(2) 5100;(3) 8300;(4) 47000。
时间: 2023-06-24 09:05:09 浏览: 307
根据页面大小为4096,可知一个页面占用的字节数为4096个字节,即2的12次方。因此,虚地址的前20位是页号,后12位是页内偏移量。
对于给定的虚地址,可以通过以下步骤计算出对应的物理地址:
1. 对虚地址进行拆分,得到页号和页内偏移量。
2. 根据页号查找页表,得到对应的物理页框号。
3. 将物理页框号左移12位,得到物理地址的前20位。
4. 将页内偏移量添加到物理地址的前20位上,得到最终的物理地址。
具体计算如下:
1. 对于虚地址20,页号为0,页内偏移量为20。
物理页框号为3,即该进程第4个页面。
物理地址为(3 << 12) + 20 = 12292。
2. 对于虚地址5100,页号为1,页内偏移量为964。
物理页框号为7,即该进程第8个页面。
物理地址为(7 << 12) + 964 = 29188。
3. 对于虚地址8300,页号为2,页内偏移量为332。
物理页框号为5,即该进程第6个页面。
物理地址为(5 << 12) + 332 = 21548。
4. 对于虚地址47000,页号为11,页内偏移量为356。
物理页框号为15,即该进程第16个页面。
物理地址为(15 << 12) + 356 = 62220。
相关问题
有如图所示的页表中的虚地址与物理地址之间的关系即该进程分得6个主存块。页的大小为4096。给出对应下面虚地址的物理地址。(1) 20;(2) 5100;(3) 8300;(4) 47000。 页表 逻辑页号 物理块号 0 2 1 1 2 6 3 0 4 4 5 3 6 x 7 x
根据页表,我们可以得到以下虚拟地址和对应的物理块号:
- 虚拟地址 20 对应的物理块号为 2,物理地址为:2 * 4096 + 20 = 9228。
- 虚拟地址 5100 对应的物理块号为 6,物理地址为:6 * 4096 + 5100%4096 = 28692。
- 虚拟地址 8300 对应的物理块号为 0,物理地址为:0 * 4096 + 8300%4096 = 8300。
- 虚拟地址 47000 对应的物理块号为 4,物理地址为:4 * 4096 + 47000%4096 = 65524。
注意,在第 6 和第 7 个虚拟页号对应的物理块号未知,因此无法计算出对应的物理地址。
某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间大小为1MB,页面大小为4KB;Cache采用直接映射方式,共8行;主存与 Cache之间交换的块大小为 32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题3 -a图、题3 -b图所示,图中页框号及标记字段的内容为十六进形式。 请回答下列问题。 (1)虚拟地址共有几位,哪几位表示页号?物理地址共有几位,哪几位表示页框号(物理页号)? (2)使用物理地址访问Cache时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。
(1)虚拟地址共有24位,其中高16位表示页号,低8位表示页内偏移;物理地址共有20位,其中高12位表示物理页号,低8位表示页内偏移。
(2)使用物理地址访问Cache时,物理地址应划分为三个字段:
- 标记(tag):用于标识Cache中的数据块,确定该数据块是否与所需数据匹配,共需12位,位于物理地址高12位。
- 行号(index):用于确定数据块在Cache中的位置,共需3位,位于物理地址第9-11位。
- 块内地址(offset):用于确定所需数据在数据块中的位置,共需5位,位于物理地址低5位。
阅读全文