当前位置: 网站首页 > 成功案例
成功案例
内存标签上这串数字,暗藏了内存工作的“秘密”
时间:2019-11-17  来源:www.oaled.com

一台电脑的性能,很多人会看处理器,显卡,而且除了两者之外,内存的重要性也紧随其后。内存也是最常遇到的计算机硬件之一。其内存的大小和频率与计算机操作的速度密切相关。我相信大多数消费者都会关注内存,只关注容量和频率这两个参数。但事实上,影响内存性能的另一个重要参数是内存计时。

那么内存时间是多少?这是本文中我想与您讨论的一个小系列。让我们暂时搁置一下这个定义,从内存的一些操作原理开始。

首先,记忆是什么?内存是直接与CPU通信的桥梁。例如,如果将CPU与工厂进行比较,则它负责处理数据。数据来自哪里?当然,它来自硬盘,所以硬盘相当于原料来源。

在计算机的早期,没有记忆。 CPU直接从硬盘读取数据,就像工厂直接从原材料源收集数据一样。但是,随着技术的发展,CPU工厂的处理能力大大提高,远离硬盘的容量,但数据仍然需要从硬盘读取,而硬盘的容量需要为了适应,所以CPU的空间非常有限。它是。

怎么做?这时,人们想到了一个方法的临时仓库。

你的硬盘驱动器没有赶上CPU的速度吗?然后让CPU直接找到硬盘,我们可以在工厂和原料生产区之间设置一个临时的临时仓库,先在仓库里拿一批货,这个临时仓库就是内存。

CPU需要数据并直接从临时存储库读取数据,不再直接读取硬盘。临时仓库的运行速度是硬盘的几十倍,并且可以满足CPU处理速度,因此它将不断预先存储CPU需要处理的数据,从而提高性能和效率。整台电脑都大大增加了。提高。

说到这一点,我相信每个人都对这个临时仓库非常感兴趣,我真的很想进入仓库看看它是如何工作的,以及它如何与工厂一起工作。

我来谈谈临时仓库和工厂之间的沟通方式。

我们知道在CPU中,有一个内存控制器,它是工厂中负责与临时仓库直接通信的窗口。

当CPU需要处理“XXX小姐”的数据时,她喊道:“我想要XXX小姐的数据!”然后该指令在工厂内的各个部门之间转移和转换,到达内存控制器,内存控制器负责与“Miss XXX”数据所在的仓库进行通信。

插入句子,工厂内的具体指令如何通过,更复杂。简单地说,该指令首先传递到存储器管理单元,在那里执行虚拟和实际转换,然后发送到总线。然后总线将命令传递给存储器控制器。收到命令后,内存控制器会分析命令并了解自身。任务,然后找到临时仓库。

在存储器控制器和存储器之间通信的物流线是存储器通道。显然,这样的渠道更有利,毕竟一个渠道可以使循环效率翻倍。但是,存储器控制器只能控制一个存储器通道。就目前对消费者数据处理的需求而言,这两个渠道基本上已足够。当然,还有三个频道和四个频道。根据您的需求和预算。

沿着内存通道,您可以找到内存,这是临时仓库。那么这个临时仓库是什么样子的?它是怎么存在的?

我们知道数据存储在存储器颗粒中,存储器颗粒称为芯片。记忆颗粒是记忆的关键组成部分,就像仓库中的仓库一样。它只是一种可以由制造商生产的高科技技术。毕竟,它装载的货物非常独特,像三星和大海。卢克斯等等,就是这样一个仓库的主人。

说白了,早期的“临时仓库”相对简单,直接以仓库的形式存在。也就是说,记忆颗粒直接插在主板上,后来焊接到一块模块电路板上,这个电路板,其实就是一根记忆棒。在早期,随着存储器进入sdram时代,simm逐渐被dimm取代。两者的区别和发展过程在这里并不方便。

比如说,现在,dim是记忆棒的基本形式。在上面的类比中,它实际上是临时仓库的物理形式。记忆棒上一排黑色的小芯片是记忆芯片,那是仓库。数据从不同的仓库获取并发送到CPU工厂。很多时候,我们看到记忆棒上有8个记忆颗粒,当然也有4到16个。这是巧合吗?

不,这实际上与CPU有关。我们只是说内存控制器是CPU和内存对接的窗口,这个窗口的容量是有限的。目前,存储器控制器和存储器对接接口的接口宽度主要是64位,即一位数据可以在一个时钟周期内发送或读取到存储器,一个存储器粒子的位宽相对较小小,有4位。 8位,也有16位,当几位也会有32位时,所以实际应用需要并行连接多个存储器粒子,成为64位设置,以满足CPU容量要求。

这样的集合叫做Rank。大多数当前的内存模块有一个或两个Ranks。通常,在相同类型的存储器颗粒下,等级数量越多,可以制造的存储器容量越大。例如,我们通常在记忆棒上看到1R×8或2R×8参数,其中R代表Rank,8代表8bit的存储位宽。 1R×8表示此DIMM上有1×(64÷8)=8个内存颗粒,2R×8表示此DIMM上有2×(64÷8)=16个内存颗粒。请注意,CPU一次只能访问和操作一个Rank。

好吧,让我们想象一下,在这个临时存储器中,有一排(1 Rank)仓库(内存粒子)负责与不远处的工厂(CPU)通信,并运输原材料(数据)。接下来,是时候研究工厂如何与这些仓库进行通信了。工厂想要什么数据?数据在哪里?这些应该始终清楚。

这涉及关键步骤:解决。

之前我们说当CPU喊“我想要XXX小姐的数据”时,实际问题本质上是一个地址命令,据此可以在内存中找到相应的数据。看看这里的内存,我们已经谈到了仓库,即内存粒子,数据存储在其中。任何从事仓储工作的人都知道仓库中的货物不是随意放置的,而是需要遵循一定的安排。内存粒子是相同的,因此我们将查看内部数据访问的逻辑结构,以查看此“库”中的“商品”是如何放置的。

我们之前谈到的最小单位是Chip,即财政部。现在我们走进财政部。你会看到财政部的一排货架,每一个都有一个整洁和统一的方形抽屉和货物的阵列放在这些小方形抽屉里。

在初中,我们学习了坐标系。好吧,如果我们根据水平轴和垂直轴对这些小方形抽屉数组进行编号,那么每个方形抽屉都有自己的坐标,这样当您拿到货物时,就可以准确定位每个方形抽屉。

这是内存粒子在内部访问数据的逻辑。当然,您可能会问,为什么内存访问数据的逻辑在内存粒子中是这样的?这种解释非常复杂且易于回答,主要是从降低成本的角度来看。 DRAM设计的目标之一是降低晶体管使用的成本。

在存储器颗粒内部,当晶体管充电和放电时,需要管理电压和电荷。该管理单元称为Sense Amplifier。读出放大器本身由更多的晶体管组成,并且成本更高,因此在设计时。有必要尽可能地减小读出放大器,因此一个晶体管不考虑单个读出放大器,成本太高。科学家发现,当晶体管形成栅格阵列时,可以在不影响稳定性的情况下最小化读出放大器的数量,因此我们可以看到存储器粒子内部是由最小的存储器单元组成的存储器阵列。

在内存中,这样一个存储列,我们称之为逻辑银行(L-Bank)或直接称为Bank,这个银行就是我们之前所说的架子。在内存颗粒中,它由多个库组成,有多少个库。这不是固定的,而是随着内存技术的发展而变化。

我们来看一个银行吧。我们刚刚提到的最小的存储单元,即方形抽屉,被称为“单元”。它可以存储的数据量实际上是内存粒子的位宽。很容易确定这个方块,我们只需要知道该行在列中的哪一行。

这是解决的过程。

以此为基础,接下来,我们最后要谈谈内存时序。

以小编的记忆为例。在其标签上,有一组参数:CL 16-18-18-38。这串数字实际上是内存时序(不同的内存有不同的内存时序)。这四个数据对应于四个性能参数,即CL,TRCD,TRP和TRAS。对于这四个参数,我们不一定需要知道它们相应的科学名称,但我们需要分别知道它们的含义。

第一个是CL,这意味着将列地址发送到内存和数据之间的延迟以开始响应。这是从已打开正确行的DRAM读取第一位存储器所需的周期数。也就是说,当我们想要查找数据时,确定它所在的库,然后确定它在哪一行,然后确定哪一列。

使用前面的示例,CPU工厂发出指令,包括行地址和列地址,假设第q个行的第n行和第m列。在收到信息后,临时仓库首先发送工作人员找到相应仓库的第q个货架,找到数据(货物)所在的第n行,然后查看货物所在的第m列。请注意,从您开始查找第m列的那一刻起,即货物被发现并运出仓库的时间,此过程所需的时间是CL延迟。显然,我们希望数字越小越好。

第二个数字TRCD表示打开一行内存并访问其中的列所需的最小延迟。这是一个很好的理解。上面提到的CL延迟从第m列的开头开始,但在此之前,您确定货物所在的第n行,然后开始查找第m列。在这两种行为之间,所需的间隔(该间隔的时间)是TRCD延迟。

TRP是第三个数字,表示发出预充电命令和打开下一行之间所需的最小时钟周期数。让我们用上面的例子来说明。 CPU工厂发出指令,不仅我们前面说过的一次货物(数据)是64位数据,所以当员工找到第一批货物时,他们还需要寻找下一批货物。当然,找到它的方法与前一个相同。我们应该从头开始。

但是,工作人员总是需要休息才能找到最后一个并开始寻找下一个。该休息时间称为内存预充电。 TRP延迟是从发出预充电指令到开始寻找下一个货物的第n行所需的时间。

最后一个数字是TRAS,它被解释为线路活动命令和预充电命令发出之间所需的最小延迟。我们仍然使用上面的例子来理解。实际上,这个数字代表了总时间。什么是总时间?也就是说,当工作人员找到QTH架子的第n行并开始预先给系统充电时,即员工开始休息过程的总时间,这不是CL + TRCD时间的总和。当然,在实际的内存模块中,数量并不是绝对的。

在解释和分析每个数字后,我相信你会理解记忆时间的含义。客观地说,我们希望内存序列中数字序列越小越快,数字越小,延迟越小,延迟越小,表明内存运行得越快。

通常,存储器序列中的第一个数字(CL的参数)是最重要的。许多供应商甚至在内存产品标签中单独标注CL的值,因为这个数字告诉我们需要等待多少个时钟周期来获取数据。

购买提示:

在介绍了内存时序后,我相信每个人都对内存中的工作原理有了一般的了解。但是,这里所说的是内存时序不是确定内存性能的最关键数据,这只是影响内存性能的重要因素之一。我们不能说内存时序更低,内存性能强,或者内存时序很高,而且内存性能必须弱,因为我们不能忽略内存标准和频率来看内存时序隔离中。

例如,如果一块DDR3的实际频率是800MHz。然后其循环时间为1/800MHz=1 /(800×10 ^ 6Hz)=0.μs/循环=1.25ns /循环。我们假设CL是10,那么这个内存的实际延迟是12.5ns。

我们发现另一款具有更高实际频率的DDR3内存,即1600MHz。根据前面的算法,循环时间为0.625ns /循环,然后实际延迟为6.25ns。显然,这个延迟比CL为10的前一个存储器短,即使我们假设这个存储器的CL是12,那么它的延迟只有7.5ns。

因此,诸如存储器定时和频率的参数不是隔离的。如果您对内存有非常严格的要求或在发烧级场景中使用它,您还应该在阅读其标准和频率后检查其内存。时间,如果你只是一个普通用户,那么通常可以优先考虑频率,因为它对内存性能有更大的影响。当然,一般来说,高频,低内存时间内存,性能自然更好。