arch-5

本文介绍了缓存的三种组织方式及其寻址过程,并详细解释了4路组相连缓存的具体实现。此外,还探讨了缓存写策略及写缺失处理方法,并概述了两级缓存的作用。最后,对虚拟内存的概念进行了说明,包括虚拟地址到物理地址的转换过程及TLB的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Cache


cache以block的方式组织

    1. 直接映射:block可以存放在cache的唯一一个块上。

                          block地址 mod cache的块数

    2. 全相连映射:block可以存放在cache的任何块上。

    3. 组相连:block存在于cache的唯一的一个组中。

                          block地址 mod cache的组数

        一个组有n个块,称为n路组相连。


cache寻址

    cache是4路组相连,有512组,块的大小为32字节。

    一个32-bit CPU地址(物理地址),将该地址上数据放入cache。

           高18-bit的物理地址,作为标志位。

           中间9-bit是cache组的索引。

           低5-bit是块内数据的索引。


           用中间9-bit索引出一个组。

           然后将高18-bit物理地址与组里保存的4个tag进行比较,命中,则找到了block。

           最后用低5-bit地址索引出数据。


cache写的两种策略

    写穿

    写回


cache写缺失

    写分配:将数据加载到cache,然后更改。

    写不分配:直接修改内存,不加载数据。


两级cache:

    第一级cache足够快,与CPU的频率相匹配。

    第二级cache足够大,能覆盖大多数mem访问。



虚拟内存

    CPU产生虚拟地址(虚拟页号+偏移量),经过内存地址映射,获得物理地址(物理页号+偏移量)。

    页表:保存虚拟页到物理页的映射。

    TLB:CPU中一个buffer,缓存虚拟页到物理页的映射。

        







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值