计组——页表多级索引、页表访问、cache访问以及访问次数的问题


1.首先,在讨论映射之前要先补充逻辑地址、物理地址、cache行的概念

逻辑地址(虚地址)由虚页号和页内地址组成。其中虚页号包含虚页号以及页表索引;

物理地址(实地址)由物理块号和块内地址组成。其中块号又包含tag以及cache索引;

cache行包括tag、标记位、数据。详见另一篇帖子 https://www.cnblogs.com/zhengmq2010/p/13662884.html

 

 

2.含快表的二级页表查找

图中的页和块表达意思一致

2.1快表未命中

 

1.首先判断页号对应页表长度是否越界;

2.未发生越界,则通过页表首地址和行号计算得出页表中对应的项(由此可以看出页表的页号是可以省略的);

3.若为多级页表,则重复步骤2;

4.若不缺页,则用找到的块号2与逻辑地址中的页号组成物理地址。

 其中,访问一次页表时,访问一次内存。当页表缺失时,需要进行一个I/O导入所需页面。

 2.2快表命中

情况与访问页表相似,但快表中多了一个页号项,作用与cache中的tag一样。当快表的中的页号项与逻辑地址提供的页号一致时则命中。

 3 访问cache

以直接映射为例

 

 1.用行号找到cache中对应的项;

2.对比tag与有效位,仅当tag相同且有效位=1时,cache命中;

3.若cache未命中,则从主存中写入对应的项(涉及写策略)。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM