计算机体系结构之多级缓存、缓存miss及缓存hit(二)

前面章节《计算机体系结构之缓存机制原理及其应用(一)》讲了关于缓存机制的原理及其应用,其中提出了多级缓存、缓存miss以及缓存hit的疑问。故,本章将进行展开讲解,

多级缓存、缓存miss以及缓存hit存在的意义是为了保持成本效益的同时,尽可能地提高计算机系统的性能和效率。它们是现代处理器设计中关键的元素,对于提高用户体验和系统吞吐量是占据至关重要的一环。对于系统吞吐量不太了解的朋友可以参考

计算机体系结构之系统吞吐量(三)》一文。

1、什么是多级缓存?其目的又是什么?

解:多级缓存是一种计算机体系结构中用于减少处理器访问主存所需时间的管策略。多级缓存由多个缓存叠加组成,但其每个缓存层级有着不同的容量大小、速度以及成本。

2、多级缓存组成及"金字塔"

缓存金字塔讲述的是计算机在各个层级之间缓存的访问速度及其容量大小。通过此金字塔可以直观的了解在计算机中关于多级缓存的概念。此处讲解下L1/L2/L3缓存。

L1 Cache:最接近处理器核心的缓存,其速度最快,但容量最小。

L2 Cache:速度略慢,但容量相较于L1 Cache更大。

L3 Cache:速度更慢,但容量相较于L2 Cache更大。

多级缓存的设计原理在《计算机体系结构之缓存机制原理及其应用(一)》一文有所讲解,即程序在执行时倾向于重复访问相同的数据和指令。每级缓存指令都旨在缓存最近或最频繁访问的数据,以减少处理器访问主存的次数 。

3、多级缓存的优点有哪些?

解:多级缓存具有以下优点:

更高的命中率:多级缓存相较于提供了大量的缓存空间,可以存储更多的数据,从而提高命中率。

更好的管理能耗:多级缓存可以根据数据的使用频率和重要性来优化能耗。

更快的访问速度:每一级缓存都比后一级缓存更接近处理器,所以会有更快的访问速度。

降低主存瓶颈;多级缓存减少了处理器直接访问主存的次数,减轻了主存的压力。

提高系统整体性能:通过减少数据访问造成的延迟,多级缓存显著的提高了系统的整体性能。

4、缓存Miss是什么?

解:缓存Miss是指处理器请求的数据不在缓存中,需要从更慢更远的存储层次中检索数据的情况。

5、缓存Miss造成什么后果?

解:缓存Miss会导致性能的下降,当缓存Miss后会从主存获取数据,而主存的访问速度比缓存慢得多,所以会造成性能得下降。这也被称作是"未命中处罚",也是缓存Miss未产生前至产生后直至完成处理后的过程。

6、缓存Miss的出现后计算机如何处理?

解:当出现缓存Miss后,计算机会进行以下步骤进行处理。其中"替换策略",顾名思义是决定替换哪部分数据的条件,常见的替换策略有"最少使用替换"以及"随即替换"。每个平台的策略都有可能不同,但其根本就是为了将存储在主存所需要的数据替换到缓存中。

7、什么是缓存Hit?

解:缓存Hit恰恰与缓存Miss相反,是指处理器请求的数据恰好在缓存中,因此可以直接从缓存中读取数据,从而不必访问更慢的存储层级。换句话说,缓存的目的之一就是为了让处理器能够在缓存中获取到将要用到的数据。

8、总结

没接触过计算机体系结构的朋友可能对感觉比较生疏,没关系,在这里作者会基于以前的发文将相关知识体系就行发散讲解,将整个文章串联起来,让大家有迹可循,而不是断层知识点。关于多级缓存,这里给大家举个例子。如:我发了一篇文章,关于多级缓存的,当大家不了解这个知识点时,就会想办法查阅该知识点,可以是通过书籍、可以是通过上网、亦可以是访问作者的文章啊,等待相关途径;当然啦,也可以不去了解这个知识点。其中,作者的此文章、网络资料以及数据就相当于"主存或磁盘",大家的大脑就相当于"缓存"。而有这个需求,但其本身又不了解就称作"缓存Miss";本身了解就称作"缓存Hit"。相信这样描述大家应该能够理解了。

相关推荐
A懿轩A29 分钟前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
半盏茶香34 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
字节高级特工2 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++
计算机学长大白3 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
PieroPc4 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439696 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
yutian06066 小时前
Keil MDK下载程序后MCU自动重启设置
单片机·嵌入式硬件·keil