计算机频率、内存相关杂谈

计算机传统架构是分为 北桥和南桥两个芯片组,其中北桥连接着CPU、显卡、以及内存等高速设备,南桥则连接着硬盘、USB、PS/2、PCI等等低速设备,不直接与处理器打交道,北桥和南桥之间也是通过Hub架构进行连接。如下图:

从图上可以看出,北桥芯片负责和CPU通信,并控制内存(仅限于Intel除i7系列以外的cpu,AMD系列cpu在K8系列以后就在cpu中集成了内存控制器,因此AMD平台的北桥芯片不控制内存)、显卡数据在北桥内部传输,而北桥和cpu通信是通过CPU的FSB前端总线来进行传输的。

内存数据与cpu交互是这么一个过程:CPU发出指令,通过前端总线到达北桥内存控制器,内存控制器再将命令给内存,内存将数据传递给北桥,北桥再通过前端总线传递给CPU,注意这个过程,CPU->北桥->内存->北桥->CPU.因此cpu到北桥,北桥到内存的传输速度要匹配才能达到最佳效果,而北桥因为承载了大量数据的中转运输,发热量可不容小觑。

上面说的过程是传统过程,还有一类刚才说的intel i7系列以及AMDK8系列以后的CPU由于在CPU内部集成了内存控制器,内存控制器与cpu之间几乎没有间距,内存交互与cpu交互不再需要北桥参与,内存数据直接交给内存控制器后,cpu直接取用,比传统方式来讲内存延迟小很多,当然也快捷很多。参考下图:

明白了以上内容之后,后面部分就相对不那么空洞了,接下来再来看一些基本概念,然后我会讲一些与机器性能相关的一些匹配问题:

U(CPU简称)的 主频:cpu工作时的频率,对于同系列的U来说,一般是主频越高代表U的处理速度越快,不同系列的U,主频只能作为参考,因为整体性能还要考虑U的指令流水线等等。

U的外频:这个频率一般是整个系统的基准工作频率,也称为系统时钟频率,是cpu与主板之间的同步数据的基准频率,而大多数系统中外频也是内存和主板同步数据的基准频率,因此可以认为是以cpu的外频与内存在进行数据同步。

U的倍频: U的主频与外频之间存在着一个比值关系,这个比值就是

倍频系数,简称倍频。理论上倍频是从1.5一直到无限的,但需要注意的是,倍频是以0.5为一个间隔单位。外频与倍频相乘就是主频,所以其中任何一项提高都可以使CPU的主频上升,但是有的U的厂家将某些U的倍频进行了锁定,例如intel,因此一般来说都只有提升外频来帮助提高U的主频。

FSB(intel U的概念):全称Front SideBUS,前端总线,它是U和北桥芯片之间传递数据的通道,U的前端总线频率一般遵从如下公式:FSB前端总线频率=外频*4 ,注意只有intel的U才有前端总线的概念,FSB传输速率计算方式是:FSB传输速率=FSB总线频率*总线位宽=外频*4*总线位宽,一般FSB总线位宽是64位,即U的外频和位宽越高,表示了这个通道传输能力越强大。

 

HyperTransport:超传输技术, 它是一种高速、低延时、点对点的连接,旨在提高电脑、服务器、嵌入式系统,以及网络和电信设备的集成电路之间的通信速度。它的速度比某些现有技术高出48倍。HyperTransport有助于减少系统之中的布线数量,从而能够减少系统瓶颈,让当前速度更快的微处理器能够更加有效地在高端多处理器系统中使用系统内存。前面说了cpu与内存直连,cpu与北桥直连,北桥和南桥直连,AMD就采用了这种技术,当然这种技术也是首先由AMD发明的,HyperTransport也有他自己的传输频率,HyperTransport总线频率=CPU外频*HyperTransport倍频 ,注意不是CPU的倍频,因此如果cpu外频提高,可见,HyperTransport总线频率也在相应提高。由于HyperTransport采用类似DDR的工作方式,即在上升沿和下降沿都传送数据,相当于传送数据能力翻倍,400MH工作频率相当于800MHZ, 因此其传输速率=工作频率*2*位宽,而HyperTransport默认位宽是32位,此外HyperTransport是在同一个总线中可以模拟出两个独立数据链进行点对点数据双向传输,因此理论上最大传输速率可以视为再翻倍,称为双向传输技术,因此考虑到双向传输的话,那么HyperTransport最大传输速率=工作频率*2*位宽*2,目前HyperTransport 3.0标准有1.8GHz、2.0GHz、2.4GHz和2.6GHz四种物理工作频率,在2.0GHZ工作频率下,单向传输速度=2.0*2*32/8=16GB/S,双向传输速度更可以达到32GB/S。可见传统FSB传输速度的确没法跟HyperTransport比啊。

内存频率:内存的频率其实细分应该分为核心频率、实际时钟频率、等效工作频率。

结合内存分代来讲,内存到目前为止可以分SDRAM、DDR、DDR2、DDR3,我们平时购买内存条的时候就会接触到这些名字DDR400、DDR333、DDRII533、DDRII667、DDRIII1066等名字。DDR后面I、II、III代表的是DDR一代、二代、三代内存条,400、533、667、1066等表示的内存条的等效工作频率。

可以从上图中看到DDR2-800的字样。另外CL=5表示列选通延迟时间为5个内存时钟周期,具体后面再深入分析。

大家知道计算机系统的时钟频率依靠的是晶体振荡器来产生的,而内存自身并不带振荡器,因此内存自身并没有办法控制自己的频率,它只能限制自己能够运行的最大频率是多少,真正的工作时的频率还是要依赖芯片上的北桥或者主板上的时钟发生器来产生。

先来看下内存工作的两个步骤:内存从Memory Cell Array(内存单元对列,内存的一种结构) 中读取数据到Io Buffer中,等到了一定位数之后再从Io Buffer中传送到cpu系统进行处理。

于是有了下面的概念:

核心频率:(内部时钟)指内存颗粒工作频率,它是读取数据到IO Buffer的频率。

内存外部时钟频率:这个频率就好理解了,就是将数据从IO Buffer传送出去的频率

等效工作频率:这个就涉及到另外的知识了,先说概念,表示数据等效传输频率,目前DDR、DDR2、DDR3等效工作频率都是外部时钟频率的2倍。

先看下面的图:

SDRAM: (Synchronous DynamicRandom Access Memory )同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写,如上图,SDRAM核心工作时,每次获取1bit数据到I/Obuffer中,SDRAM核心工作频率=外部时钟频率,由于SDRAM是在外部时钟周期的上升沿传递一次数据,因此等效频率=外部时钟频率。

DDR:(Dual DateRate SDRAM)双倍速率SDRAM的简称,DDR在SDRAM上有了提高,每次核心工作时可以同时预取2bit数据到I/O buffer,而为了把I/O buffer中的2位数数据给送出去,DDR采用了外部时钟周期上升沿和下降沿都传送一位数据,因此很自然我们能知道,DDR核心频率=外部时钟频率,而等效工作频率是外部时钟频率的2倍,因此他采用了上升、下降沿都传送一位数据。

DDR2: 这是第二代DDR内存,从上图我们可以看出,DDR2采用4位数据预取技术,即每次核心工作时将同时传递4位数据到I/O buffer中,而将这4位数据要全部传送出去,采用上升沿和下降沿都传递一位数据来看,DDR2的外部时钟频率必须要是核心频率的两倍才能及时将数据传递出去。因此可以得出这么一个关系:DDR2等效工作频率是外部时钟频率的两倍(因为采用了上下沿都传递数据),而外部时钟频率又是核心频率的两倍(为了及时将数据传递出去,否会积压在buffer中)

DDR3: 这是第三代DDR内存,同理,DDR3采用了8位数据预取技术,相应的要及时将数据传递出去,外部时钟频率需要时核心工作频率的4倍才行,而等效工作频率一样是外部时钟频率的2倍(上下沿传递数据)

可见在相同的核心频率下,DDR3的传输能力要强得多,并且,在得到相同的传输带宽下,DDR3只需要很小的核心工作频率就可以完成,工作电压也会小很多,发热量也就相应小了很多,好处多多,目前DDR内存基本上已经销声匿迹,DDR2也基本上要被DDR3完全淘汰。

那么内存有这么多频率,跟cpu外频又有什么关系呢?前面讲到,外频是cpu与内存等同步数据的一个频率,因此一般来说内存外部时钟频率应该大于cpu外频为好,否则内存将会成为cpu运行的一个瓶颈,因为数据供应跟不上。考虑内存和cpu搭配,除了考虑频率搭配以外,还要考虑数据带宽搭配,什么意思呢?举个例子

Cpu外部频率200MHZ, FSB 800MHZ,我们可以计算一下,FSB一般是64位,因此0.8*64/8=6.4GB/S,考虑频率一致,我们可以采用DDR 400、DDR2-400、DDR3-400(如果有),三种中一种,他们的外部时钟频率都是200MHZ,但是带宽呢?由于DDR、DDR2、DDR3位宽一般为64位,因此,0.4*64/8=3.2GB/S,明显数据宽度是个瓶颈,达不到cpu要求的数据宽度,于是就出现了双通道技术,双通道技术目的是将内存的数据宽带增加一倍,注意,是数据宽度,而不是频率增加一倍,即,如果再插一根同样类型的内存条,并且你的主板支持双通道技术,那么你的带宽将增加一倍,64位可以变成128位,即,0.4*128/8=6.4GB/S,恰好匹配。

请记住两点:①频率需要匹配②带宽也要匹配  才能不拖cpu后腿。

(其实关于上面两点,网上有很多说法,没有个准,也有说应该是外频要和内存核心频率匹配的,也有说要跟外部时钟频率匹配的, 对于拖cpu后腿的说法,有的人认为只要带宽匹配就行了,他们举的例子都是DDR内存,由于DDR内存核心频率和外部时钟频率一致,因此也完全看不出来是否一定要频率一致,到底以哪个频率一致,经过我看了大概几百多篇文章以及自己试验结果来看,我得出了以上结论)

当然,这只是让内存工作再同步模式下,你的内存也可以是DDR3 -1333,此时由于你的内存外部时钟频率是667MHZ,明显高于cpu外频,系统默认情况一般会设定为内存异步工作模式,即内存频率与外频可以不一致。如果你采用CPUZ或者everest查看,可以看到FSB:DRAM=xx:xxxx,这里FSB请不要搞错,由于历史原因,这里只表示外频,DRAM表示内存外部时钟频率。

前面说了DDR、DDR2、DDR3,也看了他们工作示意图,我们可以从中得出什么来呢?

同样的等效频率DDR400、DDR2-400,DDR核心频率200,ddr2核心频率100,也就是说DDR2核心工作的周期比DDR要长。怎么得出来的呢?频率的倒数就是周期。自己计算一下就知道。三类内存他们延迟时间DDR3>DDR2>DDR。延迟时间会影响到内存的工作效率,就是同样的DDR3-800型号,不同的物理内存,他们制作时也不可能完全一样,总有的体质好的内存条延迟时间可以短点,有的却要长一些,我们应该选用体质较好的内存条,延迟时间短一点,这也是为什么有的内存条上会标注CL=5的原因,表示CL延迟时间为5ns.

下面是我从另一处文章中摘抄过来的,是关于内存延迟的很好的描述,我做了少量修饰,文章出处给忘记了,先贴出来,供大家参考:

 再来了解一下内存基本结构和工作流程。目前,每一颗内存芯片内部的存储电路分为4块存储阵列(就是4个逻辑Bank,也就是前面说的CellArray)每个存储阵列(逻辑Bank)的存储单元地址通过“行地址”和“列地址”定位。因此每个存储单元的地址由三部分组成:逻辑Bank地址、行地址、列地址。寻址的过程是:先指定逻辑Bank地址,再指定行地址,然后指定列地址,这样就能够确定一个存储阵列内的存储单元。

在实际工作中,逻辑Bank地址与相应的行地址是同时发出的,这个命令称之为“行有效”或“行激活”(Row Active)。在此之后,将发送列地址寻址命令与具体的操作命令(是读还是写),这两个命令也是同时发出的,所以一般都会以“读/写命令”来表示列寻址。

从行有效命令发出到读/写命令发出之间有一段时间间隔,这个间隔称之为tRCD,即RAS to CAS Delay(RAS至CAS延迟),RAS是行地址选通脉冲,CAS是列地址选通脉冲,所以tRCD也可以理解为行选通周期。tRCD是SDRAM(包括DDR)的一个重要时序参数,一般以时钟周期(tCK,Clock Time)为单位。比如tRCD=2,就代表延迟周期为两个时钟周期,具体到确切的时间,则要根据时钟频率而定,对于DDR400(时钟频率=200MHz)来说,每个周期是5ns,tRCD=2,就是10ns的延迟,对于DDR333来说(时钟频率=166MHz), 每个周期是6ns,tRCD=2,就是12ns的延迟。
      当列地址被选中之后,就会触发数据传输,但是从存储单元中输出到数据真正出现在内存芯片的 I/O 接口之间还需要一定的时间(数据触发本身就有延迟,而且还需要进行信号放大),这段时间就是非常著名的 CL(CAS Latency,列地址脉冲选通潜伏期)。CL时间长短与芯片硬件设计和制作工艺密切相关,因为这个列地址脉冲选通潜伏期取决于芯片的数据触发电路的延迟和信号放大电路的延迟。所以JEDEC就是以CL、tRCD等参数把DDR400分成A、B、C三个等级。
    CL 的数值也是以时钟周期表示。常见有2、2.5、3等。相同工作频率的内存芯片,CL值不同,实际延迟时间是不一样的。比如 DDR-400,时钟频率为 200MHz,时钟周期为 5ns,那么 CL=2 就意味着 10ns 的潜伏期,CL=2.5 就意味着 12.5ns 的潜伏期,CL=3 就意味着 15ns 的潜伏期。因此CL=3的DDR400其性能不如CL=2.5的。如果在BIOS里设置了CL=2.5,超出心存芯片的的标称性能,如果厂家设定的标称值是接近极限值,没有超频的余地,那么就会导致内存读取数据出错,表现为蓝屏死机。CL=3的DDR400,当BIOS设置为CL=2.5时,其频率必须降为DDR333(166MHz),才可以稳定工作,当频率降为DDR333(166MHz),每个周期=6ns,2.5个周期=15ns,延迟时间是15ns。与CL=3时的DDR400(200MHz)延迟时间相同(5ns X 3 = 15ns)。
     从上面的分析,可以看出,CL和tRCD参数值用周期表示,属于相对值,还要乘以实际工作频率才是实际的延迟时间。而实际延迟时间取决于芯片硬件设计的电路制作工艺。
CL 只是针对读取操作,对于 SDRAM,写入是没有潜伏期的,对于 DDR SDRAM,写入潜伏期在 0.75 至 1.25 个时针周期之间。
     BIOS里的内存时序参数设置比较专业,所以JEDEC规定在内存条加一个EEPROM芯片,记录时序参数设置,BIOS可以读取这个参数,自动设置。避免用户错误设置。这个纪录时序参数设置的EEPROM芯片就叫SPD。
我们可以通过看SPD信息了解内存条的性能。
    这也就说明为什么在双通道时,用CL=3的DDR400,如果内存条品质(超频)不优秀,导致蓝屏死机,把速度降为333就可以解决的原因。
     微星865主板BIOS的内存时序设置里没有CL=3的选项,使用CL=3的DDR400会蓝屏死机。那些有CL=3选项的主板也会因为使用CL=3的DDR400蓝屏死机。我就处理和解决过其他各种品牌主板的这个问题。如果到网上搜索“蓝屏死机 DDR400”,就可以看到很多这一类帖子。各种品牌的主板都有。
   下面我们再看看tRCD参数,这里小写的t是timing(时序)的第一个字母,表示时序的意思,RCD就是RAS to CAS Delay的缩写,其中RAS是行地址选通脉冲,CAS是列地址选通脉冲,tRCD就是行地址选通脉冲到列地址选通脉冲的时间间隔。根据SDRAM的工作原理和JEDEC标准,CPU读写内存时,首先发出从行地址选通脉冲(也叫行有效命令),然后发出列地址选通脉冲(也叫读/写命令)。从行有效命令发出到读/写命令发出之间有一段时间间隔,tRCD就是这个间隔。这个也是由芯片的触发电路的延迟和信号放大电路的延迟决定的,也就是说是硬件本身的特性。tRCD一般用时钟周期为单位。比如tRCD=2,就代表延迟周期为两个时钟周期,这是相对的。绝对的时间间隔,要根据时钟频率而定。

计算机频率、内存相关杂谈相关推荐

  1. 服务器设置虚拟内存有什么好处,高频率内存有哪些优势?虚拟内存是什么

    为增进大家对内存的认识,本文将为大家介绍高频率内存的优势.此外,小编还将对虚拟内存加以探讨. 我们每天都在同内存打交道,但大家对内存真的了解吗?上篇文章中,我们对服务器内存以及服务器内存技术有所介绍, ...

  2. 软件是计算机什么及相关文档的总称,1冯-诺依曼原理的基本思想是什么.doc

    文档介绍: 2.什么是计算机硬件.计算机软件?各由哪几部分组成?它们之间有何联系? 答:人们通常把构成计算机的物理装置称为计算机的硬件,其主要功能是:存放控制计算机运行的程序和数据,对信息进行加工处理 ...

  3. MySQL8.0内存相关参数介绍

    MySQL8.0内存相关参数介绍 首先我们给出MySQL内存使用的计算公式: MySQL理论上使用的内存 = 全局共享内存 + max_connections×线程独享内存. 也就是:innodb_b ...

  4. 如何知道计算机显卡内存,电脑显卡是什么 怎么查显卡显存【图文】

    电脑显卡是什么?相信对于大部人都懂的怎么使用电脑,却不知道电脑显卡是什么.电脑显卡是电脑关键的一部分,如果没有了电脑显卡,即使有显示频也不能显示.相信对于一些游戏玩家来说,显卡这个名词必须是很熟悉,因 ...

  5. 计算机专业内存8g和16g差距大吗,电脑内存8G和16G的区别真的有那么大吗?

    8G和16G的内存(Memory)容量,对于普通电脑用户(办公等等)并没有多大区别:而对于专业用户(音.视频编辑.动画创作等等),8G和16G内存使用区别非常明显. 对于32位的操作系统而言,8G和1 ...

  6. 文件是存储在计算机外存上的,计算机存储器——内存和外存.doc

    计算机存储器--内存和外存 计算机存储器--内存和外存 计算机存储器--内存和外存 引言:存储器是计算机的第二个子系统.它有一个重要的特性--无限可复制性,即其存放的数据被取出后,原来存放的数据依然存 ...

  7. 在计算机中存储器是由内存和外存的区别,简述计算机的内存和外存有何区别与特点?内存是由哪几部分组成?有何特点?...

    简述计算机的内存和外存有何区别与特点?内存是由哪几部分组成?有何特点? 答案:4  信息版本:手机版 解决时间 2019-10-06 02:44 已解决 2019-10-05 13:10 简述计算机的 ...

  8. 计算机操作系统 - 内存管理

    计算机操作系统 - 内存管理 目录 计算机操作系统 - 内存管理 虚拟内存 分页系统地址映射 页面置换算法 1. 最佳 2. 最近最久未使用 3. 最近未使用 4. 先进先出 5. 第二次机会算法 6 ...

  9. DCSS是利用微型计算机,关于计算机相关毕业论文致谢,关于大学计算机基础试题相关论文范文集...

    关于计算机相关毕业论文致谢,关于大学计算机基础试题相关论文范文集 本文关于计算机及操作系统及计算机网络方面的免费优秀学术论文范文,关于计算机相关论文范文集,与大学计算机基础试题相关电大毕业论文范文,对 ...

最新文章

  1. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序
  2. 分库分表:如何做到永不迁移数据和避免热点?
  3. 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(7)--- 事件处理模式与反应器...
  4. Java Spring DI之旅
  5. JAVA 多用户商城系统b2b2c---配置中心和消息总线
  6. Windows遗产之RPC/DCOM:还在用吗,内部又有什么区别?
  7. javascript 传多个参数的正则表达式(用来获取某个参数值)
  8. php查询类似abab,ABAB中的正则表达式匹配编号(必须相同) - php
  9. python-ppt1
  10. 蔚来明年推出Gemini 该系列保持高端定位?
  11. bootstrap专栏 06.组件 06.列表组和旋转图标
  12. ligerui combobox ajax,LigerUI中使用ligerComboBox生成多选下拉框
  13. 在Unity中使用Photon(网络多人联机)
  14. WAP、触屏版网站及APP的区别
  15. Win11电脑一边耳机没声音怎么解决
  16. 29.Android展示PDF文件
  17. STC12系列单片机的1T模式和12T模式
  18. 国内代码托管中心-码云、自建代码托管平台-GitLab
  19. OpenCV(Python)颜色识别(一)
  20. ceph(ceph是什么意思)

热门文章

  1. overleaf文章管理
  2. Redux之compose
  3. Vue 安装 less
  4. 不容错过的8个持续集成工具
  5. flume spooldir bug修复
  6. sql注入攻击与防御第二版读书笔记二——SQL盲注利用
  7. 4)线性表[顺序表和链表]
  8. 杀毒软件:看企业版与单机版之间区别
  9. 在exchange中设置外网邮件域名与内网域名不同
  10. hdu 5179(bfs打表+二分)