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

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

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

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

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

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

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

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

相关推荐
qq_5470261794 小时前
Java 中的 Caffeine 缓存详解
java·开发语言·缓存
devilnumber5 小时前
Redis 使用过程中可能遇到的常见问题或 “坑”
数据库·redis·缓存
CDN3608 小时前
【踩坑实录】前端开发必看:一次由CSS缓存引发的线上事故与SEO反思
前端·css·缓存
Aray12349 小时前
Redis Cluster 集群选举机制
数据库·redis·缓存
ego.iblacat21 小时前
Redis 核心概念与部署
数据库·redis·缓存
苏渡苇1 天前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
Jul1en_1 天前
【Redis】Zset类型、命令及应用场景
数据库·redis·缓存
杨凯凡1 天前
【014】基本类型与包装类:缓存、相等性、NPE
java·数据结构·缓存
weisian1511 天前
Java并发编程--33-Redis分布式缓存三大核心架构:主从、哨兵、分片,落地实战与选型
java·redis·缓存·主从架构·哨兵架构·分片架构
heimeiyingwang1 天前
【无标题】
网络·缓存·docker·性能优化·架构