当前位置:网站首页>简述存储器的分级策略
简述存储器的分级策略
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
边栏推荐
- strcat()、strcpy()、strcmp()、strlen()
- 面试学习路线
- 数据库之MySQL——基本常用查询命令
- Internal network security attack and defense: a practical guide to penetration testing (VII): cross domain attack analysis and defense
- Unity C single case mode learning review notes
- How does feign integrate hystrix
- [programming practice / embedded competition] learning record of embedded competition (I): establishment of TCP server and web interface
- Ribbon启动流程
- 【编程实践/嵌入式比赛】嵌入式比赛学习记录(二):基于TCP的图片流传输
- Reptile learning notes, learning reptile, read this article is enough
猜你喜欢
云计算赛项--2020年赛题基础部分[任务3]
Ribbon启动流程
Redis -- why is the string length of string emstr the upper limit of 44 bytes?
Research on software security based on NLP (2)
第七章 资产减值
Export all SVG files in the specified path into pictures in PNG format (thumbnail or original size)
Buctf MISC brossage
Upload labs range practice
[programming practice / embedded competition] learning record of embedded competition (I): establishment of TCP server and web interface
Three minutes to teach you to use Houdini fluid > > to solve particle fluid droplets
随机推荐
Alibaba sentinel学习QA
Ignis公链的NFT生态发展:Unicorn.art的捐赠开发之路
Upload labs range practice
一些靶场的学习记录:sqli-labs、upload-labs、XSS
Post of experience in preparation for guarantee and research -- the 18th (2021) Central South planning department promoted the exemption to Zhejiang University Institute of Technology
Personality charm of high paid it workers
Intranet penetration series: icmptunnel of Intranet tunnel (by master dhavalkapil)
When using flash, the code ends automatically without an error, the connection cannot be maintained, and the URL cannot be accessed.
KCD_ EXCEL_ OLE_ TO_ INT_ Convert reports an error sy subrc = 2
利用sqlmap注入获取网址管理员账号密码
Ctf-misc summary
Intranet penetration series: dnscat2 of Intranet tunnel
CTF-MISC总结
Reptile learning notes, learning reptile, read this article is enough
TA notes of Zhuang understand (zero) < bedding and learning methods >
Three minutes to teach you to use Houdini fluid > > to solve particle fluid droplets
从零开始完整学习机器学习和深度学习,包括理论和代码实现,主要用到scikit和MXNet,还有一些实践(kaggle上的)
第五章 投资性房地产
內網滲透系列:內網隧道之icmpsh
Zhuang understand's TA notes (VI) < fakeenvreflect & rust, rust effect >