巴中建网站的公司,优秀的国外网站设计网站,网站建设的开发程序,软文有哪几种类型目录
深入了解缓存内存
缓存的重要性
游戏中的存储需求与主内存
虚拟内存和按需分页
现代系统中的多级缓存
缓存级别的大小与速度
缓存相关的术语
缓存命中与未命中
页面命中与缺页
局部性原理
结语 深入了解缓存内存
大家好#xff0c;欢迎来到今天的课程。上节课… 目录
深入了解缓存内存
缓存的重要性
游戏中的存储需求与主内存
虚拟内存和按需分页
现代系统中的多级缓存
缓存级别的大小与速度
缓存相关的术语
缓存命中与未命中
页面命中与缺页
局部性原理
结语 深入了解缓存内存
大家好欢迎来到今天的课程。上节课我们学习了06《内存接口解答往年试题》计算机组成与体系结构 系列课。今天我们将深入了解缓存内存。但在深入之前我们先来理解一下它的重要性。现在让我们开始学习吧。
缓存的重要性
在之前的讨论中当我们谈到命中率或命中比时我们看到在一个包含100条指令的程序代码中有80条被带入主存储器。你可能会想为什么我们不直接将整个100条指令的代码都放入内存中呢让我通过一个更现实的例子来说明这个问题。
游戏中的存储需求与主内存
游戏示例GTA 5、使命召唤无限战争、现代战争2019重启版、杀手22018年重启版。存储空间这些游戏的存储需求几乎达到了100GB现代战争2019重启版甚至需要超过200GB的存储空间。主内存需求 GTA 54GB使命召唤系列无限战争/现代战争8GB杀手216GB 虚拟内存和按需分页
这是因为我们的操作系统提供了虚拟内存和按需分页的概念。当我们在玩这些游戏或者从技术上讲当处理器正在执行这些游戏的代码时它们并不需要一次性地加载全部100GB的代码。这就是它的美妙之处。
正因为如此即使主内存相对较小我们仍然可以毫无问题地运行这些游戏。
为了更好地理解这个概念我们用了仅100条指令的代码段作为例子。
现代系统中的多级缓存
现在让我们谈谈缓存。
为了便于理解在之前的讨论中我提到缓存内存作为一个单一单元。
但准确地说现代系统通常有多级缓存。如今的系统架构中一般使用三级缓存L1、L2 和 L3 缓存。 L1缓存自诞生以来就内置于处理器本身。L2缓存最初集成在主板上但现在也成为了处理器的一部分。L3缓存嵌入在处理器中由处理器的所有不同核心共享。
随着技术的进步我们见证了多核处理器的兴起如双核、四核乃至八核等。这些术语描述了微处理器内部核心的数量是现代微处理器分类中的一个重要方面。在计算机体系结构中这样的设计使得处理器能够同时处理多个任务或线程从而显著提升了计算效率和性能。
自L1缓存诞生以来它就一直内置于处理器本身之中作为最接近CPU核心的数据存储区域提供了最快的访问速度。随着技术的发展L2缓存被引入以进一步提升性能。最初L2缓存通常是安装在主板上的独立组件然而随着时间推移为了提高效率L2缓存也逐渐集成到了处理器内部。
如今在多核处理器架构中每个核心都拥有自己的L1和L2缓存这有助于减少数据访问延迟并提高单个核心的工作效率。
至于L3缓存它同样嵌入在处理器芯片之内但与L1和L2不同的是L3缓存由所有核心共同使用。这种共享的设计旨在优化跨核心的数据交换对于需要频繁访问同一数据集的应用程序来说尤为重要。
通过了解这些缓存级别及其作用我们可以更好地理解现代处理器是如何通过多层次缓存系统来实现高效数据管理和加速计算过程的。
缓存级别的大小与速度
L1缓存最小但最快。L2缓存用于存储访问频率次高、但因空间限制而无法纳入L1缓存的数据。L3缓存最大被称为共享缓存。
在大小方面L1是最小的但它也是所有缓存中最快的。 L2缓存紧随其后用来存储那些访问频率次高、但因空间限制而无法纳入L1缓存的数据。 最后L3缓存是最大的也被称为共享缓存。
希望你现在对不同级别的缓存有了清晰的理解。 在之后的讨论中为了简化起见我们大多假设只有一个缓存。 不过在解释与缓存级别相关的数值问题时我会提供各级别的详细说明。
缓存相关的术语
现在让我们了解一些与缓存相关的术语。
缓存命中与未命中
缓存命中如果处理器能够在缓存中找到所需的信息所需的时间称为命中延迟。标签目录用来确定所需信息是否存在于缓存中的一种特定数据结构。缓存未命中如果信息不在缓存中则处理器将在下一级内存即主内存中寻找该信息并将其带回。这段时间总称作未命中延迟。
第一个术语是缓存命中。 在执行过程中如果处理器能够在缓存中找到所需的信息我们就称之为缓存命中。 这个过程所需的时间称为命中延迟。 这里处理器使用一种特定的数据结构——标签目录【Tag Directory】来确定所需信息是否存在于缓存中。 如果信息不在缓存中也就是说信息缺失我们称之为缓存未命中。 在这种情况下正如前面所讨论的处理器将在下一级内存即主内存中寻找该信息并将其带回。 同时也会将信息放置在缓存中。 这段时间总称作未命中延迟。 页面命中与缺页
页面命中如果信息在主内存中找到。缺页如果信息也不在主内存中这种情况称为缺页。缺页服务时间操作系统会在辅助存储器中查找信息并将其带回主内存的过程所需的时间。
顺便提一下如果信息也不在主内存中这种情况称为缺页。 如果找到了信息我们称之为页面命中。 在缺页的情况下操作系统作为管理主内存和辅助存储器之间通信的角色会在层次结构的最后一层也就是辅助存储器中查找信息并将其带回主内存。 整个过程称为缺页服务完成这一过程所需的时间称为缺页服务时间。
我们已经知道相对于其他数据而言访问频率极高的信息通常会被保留在缓存中。 这种根据访问频率优先化主内存部分以加载到缓存中的做法是基于局部性原理。 局部性原理
空间局部性如果处理器引用了某个内存位置那么附近的位置在未来很可能会被引用。时间局部性如果某个内存位置被引用过那么它很可能在未来再次被引用。
简单来说有两种方法可以帮助处理器决定应该将主内存中的哪些数据放在缓存中。 第一种方法基于空间局部性。 这意味着在某个时刻如果处理器引用了某个内存位置那么附近的位置在未来很可能会被引用。 第二种方法基于时间局部性。 这意味着如果某个内存位置被引用过那么它很可能在未来再次被引用。 这个知识点在研究缓存替换策略时会更加清晰。
结语
好了这就是本次课程的内容。
我想既然我们已经学到了缓存内存的组织方式接下来探讨不同的缓存映射技术以及更深入地理解缓存和主内存之间的交互就会更容易些。
期待下次再见。谢谢大家阅读。