全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

内存条如何存储数据

发布时间:2023-11-30 23:17:19
发布人:xqq

内存条还有一个更专业的名字: RAM(随机存取存储器),因为它们可以在任何位置随机读写数据。

现在的计算机基本上都是二进制的,所以无论什么数据或代码指令,在我们这里都是一连串的0和1的比特。

为了存储这一个比特,在先驱者面前曾经有两种电路方案,第一种是静态方案:即

这是不是有点复杂?我想是的。这种电路方案的优点是在0和1之间保持稳定的状态,因此被称为静态随机存取存储器(SRAM)。

但它需要太多的晶体管,一个比特就需要几个晶体管。16GB太多,而且成本太高。

有第二个选择:

这样是不是简单了许多?只通过一个电容器的电荷就能决定这是一个 1 还是一个 0,这样就存储了 1bit。

在每一个存储芯片里,这样的比特位存储单元都有很多,例如一个 16G 的内存条有 137438953472 bit,也就是有 137438953472 个这样的电容。

但这种电路方案有个毛病,就是里面的那个电容会“漏电”,电容中的电荷会慢慢消失,电压也就变小了,这样就没办法区分这是表示的 1 还是 0 了。

为了解决这个问题,必须得周期性的去给它们充电,才能维持数据的稳定,这叫动态数据刷新,所以这种方案叫 DRAM (Dynamic Random Access Memory)。

内存控制器就像一个中介,位于 CPU 与 内存条之间。

CPU 这边想要访问数据,肯定不想这么麻烦,所以内存控制器就派上用场了。

用 bit 作为读写单元太麻烦了,咱们按 8 bit 为一组,叫做一个字节 byte,CPU 统一给内存的存储空间编址,以后要读取数据的时候呢,就把地址交给内存控制器,再告诉内存具体是读写哪个芯片哪个分片的哪些位置。

以后只需要一个地址,内存控制器就转换成具体的数据存储位置,去读取内存,再由内存完成读写操作就可以了。

由于内存控制器的重要性,现在,内存控制器已经集成到了 CPU 内部,成为了 CPU 的一份子了。

随着 CPU 的发展,CPU 的速度越来越快,开始嫌内存慢了,要说慢,硬盘那可比内存慢多了!于是在 CPU 内部又搞了个缓存出来,不用每次都问内存要数据,而是把一些常用的数据存储在 CPU 内部的缓存中。

只不过 CPU 内部的缓存不会太大,仅存放一些常用的数据,大部分数据还是需要通过内存进行读取。

IT培训

相关文章

嵌入式培训课程:探索技术的无限可能

嵌入式培训课程:探索技术的无限可能

2023-12-12
web前端培训:vue实现双向数据绑定原理

web前端培训:vue实现双向数据绑定原理

2023-12-12
嵌入式开发:Linux系统编程的探索与实践

嵌入式开发:Linux系统编程的探索与实践

2023-12-12
Web前端:探索Web前端开发技术的新领域

Web前端:探索Web前端开发技术的新领域

2023-12-12

最新文章

python培训学校靠谱吗?为什么一定要选择千锋教育

python培训学校靠谱吗?为什么一定要选择千锋教育

2023-12-13
培训学校学java靠谱吗?为什么一定要选择千锋教育

培训学校学java靠谱吗?为什么一定要选择千锋教育

2023-12-13
网络安全哪个培训机构靠谱

网络安全哪个培训机构靠谱

2023-12-13
python培训机构可靠吗?为什么一定要选择千锋教育

python培训机构可靠吗?为什么一定要选择千锋教育

2023-12-13
在线咨询 免费试学 教程领取