当前位置:网站首页>简述存储器的分级策略
简述存储器的分级策略
2022-04-23 06:42:00 【贪玩的木木】
为什么存储器会有分级策略?
对于存储器,我们都希望它能够速度更快、体积更小、容量更大、造价更便宜,但是这几个需求往往是相互矛盾的,所以我们需要将需求分级,使用频率越高的数据,读写越快越好,因此用最贵的材料,放到离 CPU 最近的位置;使用频率越低的数据,用越便宜的材料,放到离 CPU 越远的位置。
存储器的分级策略
存储器通常可以分为以下四级:寄存器、高速缓存、内存、SSD/硬盘/磁盘

寄存器 Register
寄存器紧挨着 CPU 的控制单元和逻辑计算单元。寄存器的访问速度非常快(用和 CPU 一样的材料制成,所以和 CPU 一样快),一般要求在半个 CPU 时钟周期内完成读写。比如一条要在 4 个周期内完成的指令,除了读写寄存器,还需要解码指令、控制指令执行和计算。如果寄存器的速度太慢,那 4 个周期就可能无法完成这条指令了。
每个寄存器可以用来存储一定字节(byte)的数据。比如:
- 32 位 CPU 中大多数寄存器可以存储 4 个字节
- 64 位 CPU 中大多数寄存器可以存储 8 个字节
高速缓存 Cache
Cache 是计算机中的一个高速小容量存储器,其中存放的是 CPU 近期要执行的指令和数据,其存取速度可以和 CPU 的速度匹配,一般采用静态 RAM 充当 Cache。CPU 的速度受制于内存的存取速度,为了解决 CPU 和内存速度不匹配的问题,在 CPU 和内存之间设置了高速缓冲存储器 Cache。
Cache 还分为L1-Cache、L2-Cache、L3-Cache等,它们依次距离CPU越远,造价更低、存储容量更大、读写速度更慢。
内存
内存的主要材料是半导体硅,是插在主板上工作的。因为它的位置距离 CPU 有一段距离,所以需要用总线和 CPU 连接。因为内存有了独立的空间,所以体积更大,造价也比上面提到的存储器低得多。现在有的个人电脑上的内存是 16G,但有些服务器的内存可以到几个 T。内存速度大概在 200~300 个 CPU 周期之间。
所有不能在高速缓存中得到满足的内存访问请求都会转往主存中。
SSD 和硬盘
SSD(Solid-State Driver/Disk) 也叫固态硬盘,结构和内存类似,但是它的优点在于断电后数据还在。内存、寄存器、缓存断电后数据就消失了。内存的读写速度比 SSD 大概快 10~1000 倍。以前还有一种物理读写的磁盘,也叫作硬盘或机械硬盘,它的速度比内存慢 100W 倍左右。因为它的速度太慢,现在已经逐渐被 SSD 替代。
各级存储器之间的关系
SSD/硬盘是用于存储数据的,且断电后数据仍然存在。我们安装在电脑上的应用和存储在本地的文件,在关机或停电后,并不会消失。
内存、高速缓存、寄存器不是用于存储数据的,其中的数据在断电后就会消失(不完全是这样,像内存中的ROM和闪存等),它们主要是用于加快CPU速度的。CPU的速度大致可以分为两类,处理数据+读写数据,其中读写数据的速度会受制于存储器的速度,所以像开头提到的,我们需要将存储器分级为寄存器、高速缓存、内存,依次具有更快的速度、离CPU更近,但也具有更小的存储空间、更高的价格。
当 CPU 需要内存中某个数据的时候,会依次向寄存器、高速缓存、内存请求数据。如果寄存器中有这个数据,则可以直接使用;否则就要依次查询高速缓存中的 L1、L2、L3 缓存;如果都没有数据,再去内存中拿。
版权声明
本文为[贪玩的木木]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43844995/article/details/124215948
边栏推荐
- 《内网安全攻防:渗透测试实战指南》读书笔记(四):权限提升分析及防御
- Internal network security attack and defense: a practical guide to penetration testing (IV): Authority improvement analysis and defense
- Redis -- why is the string length of string emstr the upper limit of 44 bytes?
- Research on system and software security (5)
- Série de pénétration Intranet: icmpsh du tunnel Intranet
- Flutter之Provider共享数据的两种方式
- 内网渗透系列:内网隧道之dns2tcp
- Chapter VII asset impairment
- The displayed amount of ABAP ALV is inconsistent with the exported amount
- 一文了解系列,对web渗透的常见漏洞总结(持续更新)
猜你喜欢

Cloud computing skills competition -- the first part of openstack private cloud environment

【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输

Intranet penetration series: icmptunnel of Intranet tunnel (by master dhavalkapil)

Cloud computing skills competition -- Part 2 of openstack private cloud environment

第五章 投资性房地产

云计算技能大赛 -- openstack私有云环境 第二部分

vivo,硬件安全的爱与雷霆

Redis--为什么字符串emstr的字符串长度是44字节上限?

Intranet penetration series: icmpsh of Intranet tunnel

NLLLoss+log_SoftMax=CE_Loss
随机推荐
Buuctf misc brush questions
数据库之Mysql——概述安装篇
Reptile learning notes, learning reptile, read this article is enough
Research on system and software security (2)
Feign source code analysis
Introduction to sap query enhanced development
Sto with billing cross company inventory dump return
一些关于网络安全的好教程或笔记的链接,记录一下
BUUCTF [极客大挑战 2019]EasySQL1
SAP sto with billing process and configuration
SAP tr manual import system operation manual
《内网安全攻防:渗透测试实战指南》读书笔记(四):权限提升分析及防御
MySQL -- the secret of lock -- how to lock data
Expression related to month, year and day in SVG
Learning records of some shooting ranges: sqli labs, upload labs, XSS
The displayed amount of ABAP ALV is inconsistent with the exported amount
Intranet penetration series: icmptunnel of Intranet tunnel (by master dhavalkapil)
数据库之MySQL——基本常用查询命令
Internal network security attack and defense: a practical guide to penetration testing (VII): cross domain attack analysis and defense
求3个字符串(每串不超过20个字符)中的最大者。