寄存器、缓存、内存、硬盘、存储器的理解

https://blog.csdn.net/heixiaolong7/article/details/51226378

只要能存储数据的器件都可以称之为存储器,它的含义覆盖了寄存器,缓存,内存,硬盘。cpu访问快慢的速度依次为

寄存器-> 缓存->内存->硬盘

寄存器是中央处理器的组成部分,是一种直接整合到cpu中的有限的高速访问速度的存储器,它是有一些与非门组合组成的,分为通用寄存器和特殊寄存器。cpu访问寄存器的速度是最快的。那为什么我们不把数据都存储到寄存器中呢,因为寄存器是一种容量有限的存储器,并且非常小。因此只把一些计算机的指令等一些计算机频繁用到的数据存储在其中,来提高计算机的运行速度。

缓存其实是内存中高速缓存(cache),它之所以存在,是因为当cpu要频繁访问内存中的一些数据时,如果每次都从内存中去读,花费的时间会更多,因此在寄存器和内存之间有了缓存,把cpu要频繁访问的一些数据存储在缓冲中,这样效率就会更高,但需要注意的是,缓冲的大小也是很小的,不能存放大量的数据,并且缓存中存放的数据会因为cpu的访问而被替代,必须某个数据开始被cpu频繁访问,但后来不再频繁,那这个数据的空间会被其他访问频繁的数据所占据(那些数据会被暂时存储在缓存中是算法问题)。缓存又可以分为一级和二级缓存,一级的速度大一二级的速度。因此cpu在访问数据时,先到缓存中看有没有,没有的话再到内存中读取。

内存分为只读(ROM)和随机存储器(RAM)一级最强悍的高速缓存存储器(cache)。其中RAM应用非常广泛,例如在平常用的开发板中的内存指的就是RAM,还有我们电脑上的内存条指的就是RAM。

硬盘、U盘等存储器都归入外存储器,它们的访问速度是最慢的。

相关推荐
想搞艺术的程序员2 小时前
Go语言环形队列:原理剖析、编程技巧与核心优势
后端·缓存·golang
T1ssy3 小时前
深入解析Redis三大缓存问题:穿透、击穿、雪崩及解决方案
数据库·redis·缓存
木易 士心3 小时前
NestJS 核心揭秘:InstanceWrapper 的艺术与前端缓存新思路
前端·缓存
Haooog3 小时前
Redis面试题(不定时更新)
数据库·redis·缓存·面试
孙同学_3 小时前
【Linux篇】线程互斥、同步与线程池设计:原理与实践
数据库·redis·缓存
albert-einstein3 小时前
Nginx越界读取缓存漏洞CVE-2017-7529(参考peiqi文库以及gpt)
gpt·nginx·缓存
大佐不会说日语~3 小时前
Spring AI Alibaba 对话记忆丢失问题:Redis 缓存过期后如何恢复 AI 上下文
java·人工智能·spring boot·redis·spring·缓存
武子康4 小时前
Java-197 消息队列应用场景:缓存预热+限流排队+Redis Lua 扣库存+MQ 削峰填谷
java·redis·缓存·性能优化·消息队列·rabbitmq·java-rabbitmq
小小8程序员15 小时前
Redis-10
数据库·redis·缓存