【对比】cache缺失处理和缺页处理

Cache缺失处理

当CPU需要访问数据时,首先会检查这些数据是否在Cache中。如果数据在Cache中,则称为Cache命中;如果不在,则称为Cache缺失。

Cache缺失处理的过程如下:

  1. 检测缺失:CPU发起数据访问请求时,Cache控制器会检查所需数据是否在Cache中。
  2. 选择替换策略:如果发生缺失,Cache控制器需要决定哪个Cache块将被替换。常见的替换策略有:最近最少使用(LRU)、最不经常使用(LFU)等。
  3. 从主存中读取数据:替换策略决定后,Cache控制器会从主存中读取所需的数据块。
  4. 更新Cache和标签:读取的数据块会被加载到Cache中,并更新相应的标签信息,以便后续的访问可以快速命中。
  5. 重启被中断的指令:一旦数据被加载到Cache中,CPU可以重新执行之前因Cache缺失而中断的指令。

缺页处理

缺页处理是虚拟内存管理中的一个重要概念。当程序尝试访问一个不在物理内存中的页面时,会发生缺页中断。

缺页处理的过程如下:

  1. 检测缺页:CPU在访问内存时,如果发现所需的页面不在物理内存中,会产生一个缺页中断。
  2. 中断处理:操作系统会响应这个中断,并查找所需的页面是否在磁盘上。
  3. 页面调度:如果页面在磁盘上,操作系统会选择一个页面替换算法(如最近最少使用算法)来决定哪个物理页面将被替换。
  4. 读取页面:操作系统从磁盘中读取所需的页面到物理内存中。
  5. 更新页表:更新页表以反映新的物理内存和虚拟内存之间的映射关系。
  6. 重启被中断的指令:一旦页面被加载到物理内存中,CPU可以重新执行之前因缺页而中断的指令。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值