首先从操作系统角度出发:完成虚拟地址对物理地址的映射
操作系统中将存储单位大小设为一个页(页面)
虚拟地址结构:

逻辑页号

页内地址

物理(内存)地址结构:

物理页号

页内地址

操作系统通过快表或页表查找到逻辑页号对应的物理页号,即虚拟地址到物理地址的映射,因此可以明显看到
逻辑页号——>物理页号 页内地址=页内地址
如果在两个表都没有找到,就需要从磁盘(外存)中将缺页的部分调入内存,同时将信息更新到快表和页表中

从计算机组成原理的角度:完成物理地址和Cathe之间的转换
计算机组成原理将内存和Cathe分为一块一块的,单位为块
虚拟地址结构:

逻辑页号

页内地址

物理(内存)地址结构:

主存块号

块内地址

查找cathe的结构:

标记

cathe组号

块内地址

硬件将物理块号分为标记和cathe组号,块内地址直接对应过去
主存块号=标记+cathe组号 块内地址=块内地址
cathe组号=主存块号%cathe组数
计算机硬件首先在cathe中通过对比cathe组号和标记字段直接找数据副本,若没有找到,则去内存中找

从上面的映射过程中要注意的是:
上面的页和块不是一类东西,因此映射时不能将两者化等号(一般页都要比块要大得多)
例:给了虚拟地址0456ACH,页大小4KB,cathe组数16,块64B大小如何求该地址放在哪个cathe组
这个时候我们只知道虚拟地址,但没有对应的映射关系,即无法知道主存块号。但在虚拟地址到物理地址的映射结构中,页内地址是直接对应过去的,由于页内地址是远大于块内地址,一般也会将cathe组号包括进去
取页内地址6AC,转换为二进制0110 1010 1100,去掉后6位后,后4位就是cathe组号:1010=10组

物理地址有三种形式结构:操作系统的一种,机组的两种,其二进制都是一样的,区别在于它们划分方法不一样,做题时要将它们弄清楚,不然很容易混淆

快表是页表的一部分副本(地址映射)
Cathe是内存的一部分副本(数据内容)

上面内容应该没有问题,若有问题欢迎指正