关注
硬盘与内存之间交换数据的单位是页,通过页面置换算法(FIFO、LRU、OPT)确定页,通过页表来判断对应的页在不在内存,不在的引发缺页中断,去硬盘将该页置换到内存中。虚拟内存和物理内存之间通过页表来映射;虚拟地址分为:页号和页内偏移。
高速缓cache存和内存间交换数据的单位就是缓存行,当线程要访问的变量在CPU的缓存里没有找到时,就会去访问主内存,然后根据程序运行的局部性原理,此时就会把主内存中该变量所在的大小为缓存行的内存放入缓存中。准确的说,主存的一块数据放到cache的一行中,每个数据块和cache的行的大小完全一样, 而且每个块或行都是由若干个连续的字组成的。其中的地址映射,一般有直接映射方式(一些约定的主存块只能复制到cache中的一个特定行中)、全相连映射(主存中任意一个块可以映射到cache中的任意一行中。需要在cache中的一行增加标记部分,存放该行内容的主存块的块号)、组相联映射(组间直接映射,组内全相联映射)。一般来说,全相连映射更适合小容量的cache,直接映射方式适合大容量的cache。而容量不大不小的cache更适用用组相联映射方式。替换策略有:LFU(最不经常使用)、LRU(近期最少使用)、FIFO、随机替换算法。
CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干字组成,是定长的。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
05-26 11:00
中国石油大学(华东) Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
998191次浏览 5079人参与
# 国企是春招机械人最好的去处吗 #
153835次浏览 585人参与
# 发面经攒人品 #
8868672次浏览 98430人参与
# 硬件人的简历怎么写 #
350830次浏览 3147人参与
# 27届实习投递记录 #
163196次浏览 1659人参与
# AI了,我在打一种很新的工 #
208345次浏览 2219人参与
# 万物皆可发面经 #
4338次浏览 57人参与
# 实习,不懂就问 #
229324次浏览 1761人参与
# 运营人求职交流聚集地 #
260166次浏览 1135人参与
# 秋招投递攻略 #
295990次浏览 2642人参与
# 你的mentor是什么样的人? #
67178次浏览 852人参与
# 实习生至暗时刻 #
93650次浏览 942人参与
# 实习如何「偷」产出? #
771924次浏览 8595人参与
# 从mentor身上学到了__ #
67717次浏览 949人参与
# 父母对你找工作是助力还是阻力? #
52613次浏览 467人参与
# 你觉得mentor喜欢什么样的实习生 #
64150次浏览 1090人参与
# 我和mentor的爱恨情仇 #
121564次浏览 1047人参与
# 非技术投递记录 #
741613次浏览 6979人参与
# 找实习记录 #
282418次浏览 1664人参与
# 第一次找实习,我建议__ #
89980次浏览 923人参与