纯自己梳理原创,如有错误,恳请指正!
在做题的时候发现自己从来没有理清过这一方面的问题,特此总结梳理。
假设指令为直接寻址。
- 执行指令,其地址码部分为操作数的虚拟地址。
- 将页号加上页表寄存器中的页表起始地址得到物理块的块号(物理块的物理地址)。
- 将物理块的块号拼接虚拟地址的页内偏移,得到操作数的物理地址。
假设Cache采用组相联映射,根据Cache块的大小和结构,得到标记,组号,块内地址。
- 映射到Cache块对应行,对应标记位符合,有效位为1,则得到物理块。
特殊情况1:若页表未命中则产生缺页异常,需要从磁盘中调入物理块。
特殊情况2:若Cache未命中则需要访问主存并更新Cache块。
注:如果页表命中,那么块一定在主存中。