页表,这个概念你一定听说过吧?作为一个资深程序员,我相信你对这个问题一定有自己的见解。今天,我就来和大家聊聊二页表访问内存的次数这个话题。

1.什么是二页表?

内存访问,为何总是两次?  第1张

首先,我们得先了解一下什么是二页表。简单来说,二页表就是操作系统用来管理进程内存的数据结构。它记录了每个进程所占用的内存空间,并且将其划分成大小相等的块,通常是4KB或者8KB。这样做的好处是可以更加高效地管理内存资源。

内存访问,为何总是两次?  第2张

2.为什么要访问内存?

那么为什么我们要访问内存呢?其实,当我们运行一个程序时,计算机会将程序加载到内存中执行。在程序执行过程中,会不断地从内存中读取数据、写入数据。而这个过程中,就需要通过二页表来确定需要访问的内存块。

内存访问,为何总是两次?  第3张

3.二页表访问内存几次?

内存访问,为何总是两次?  第4张

现在问题来了,当我们要访问某个地址对应的数据时,需要经过多少次访存呢?答案是两次。

内存访问,为何总是两次?  第5张

首先,在进行地址转换时,我们需要通过二页表找到对应的物理地址。这个过程会访问一次内存,因为二页表本身也是存放在内存中的。

内存访问,为何总是两次?  第6张

然后,在找到物理地址后,我们还需要再次访问内存才能读取或写入数据。所以,总共需要两次访存。

总结