关注
硬盘与内存之间交换数据的单位是页,通过页面置换算法(FIFO、LRU、OPT)确定页,通过页表来判断对应的页在不在内存,不在的引发缺页中断,去硬盘将该页置换到内存中。虚拟内存和物理内存之间通过页表来映射;虚拟地址分为:页号和页内偏移。
高速缓cache存和内存间交换数据的单位就是缓存行,当线程要访问的变量在CPU的缓存里没有找到时,就会去访问主内存,然后根据程序运行的局部性原理,此时就会把主内存中该变量所在的大小为缓存行的内存放入缓存中。准确的说,主存的一块数据放到cache的一行中,每个数据块和cache的行的大小完全一样, 而且每个块或行都是由若干个连续的字组成的。其中的地址映射,一般有直接映射方式(一些约定的主存块只能复制到cache中的一个特定行中)、全相连映射(主存中任意一个块可以映射到cache中的任意一行中。需要在cache中的一行增加标记部分,存放该行内容的主存块的块号)、组相联映射(组间直接映射,组内全相联映射)。一般来说,全相连映射更适合小容量的cache,直接映射方式适合大容量的cache。而容量不大不小的cache更适用用组相联映射方式。替换策略有:LFU(最不经常使用)、LRU(近期最少使用)、FIFO、随机替换算法。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-12 18:42
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
11637次浏览 150人参与
# 你的mentor是什么样的人? #
51014次浏览 718人参与
# 程序员找工作至少要刷多少题? #
20245次浏览 258人参与
# 我和mentor的爱恨情仇 #
106150次浏览 944人参与
# 论秋招对个人心气的改变 #
12460次浏览 169人参与
# 校招第一份工作你干了多久? #
136590次浏览 597人参与
# 机械人避雷的岗位/公司 #
43884次浏览 304人参与
# 为了减少AI幻觉,你注入过哪些设定? #
5482次浏览 166人参与
# 设计人如何选offer #
189626次浏览 868人参与
# 你的秋招进行到哪一步了 #
2530367次浏览 23253人参与
# 机械人还在等华为开奖吗? #
312067次浏览 1582人参与
# 牛客AI体验站 #
7379次浏览 200人参与
# 秋招投递记录 #
380826次浏览 3203人参与
# 重来一次,我还会选择这个专业吗 #
411165次浏览 3898人参与
# 12306一秒售罄,你抢到回家的票了吗? #
2186次浏览 51人参与
# 我现在比当时_,你想录用我吗 #
9158次浏览 117人参与
# 互联网公司评价 #
485805次浏览 4111人参与
# 一张图晒一下你的AI员工 #
5509次浏览 123人参与
# AI Coding的使用心得 #
4996次浏览 105人参与
# 职场上哪些行为很加分? #
322369次浏览 3598人参与