0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > 高频率内存有何优势?虚拟内存又为何物?

高频率内存有何优势?虚拟内存又为何物?

来源: 21ic
2020-12-10
类别:基础知识
eye 23
文章创建人 拍明

原标题:高频率内存有何优势?虚拟内存又为何物?

  我们每天都在同内存打交道,但大家对内存真的了解吗?上篇文章中,我们对服务器内存以及服务器内存技术有所介绍,为增进大家对内存的认识,本文将为大家介绍高频率内存的优势。此外,小编还将对虚拟内存加以探讨。如果你对内存及其相关知识具有兴趣,不妨继续往下阅读哦。

  


  一、高频率内存优势

  由于决定内存性能的核心因素有内存容量、带宽和频率,而如果在同代内存,相同容量条件下,内存频率越高,性能就越好。如果是不同代内存,比如DDR3和DDR4内存,如果是相同容量下,DDR4内存性能肯定在DDR3之上,毕竟DDR4内存频率均在DDR3之上,加之新一代内存还在带宽上有升级,功耗更低等。

  关于内存和频率的关系就介绍到这里,简单来说,频率是决定内存性能的重要因素,不同代内存往往频率都不同,在相同容量下,内存频率越高,其性能往往更好。而在现实使用中,有适合不仅看理论,比如买的是DDR4 3000内存,但由于主板仅支持DDR4 2400,那么DDR4 3000高频内存只能识别到DDR4 2400,对于这部分用户来说,DDR4 3000由于电脑不能完全识别,显得并不是特别合适,因此实际内存选择时,还需要看实际需求与价格。

  二、内存频率是否越高越好

  理论上来讲,在同代相同容量内存中,内存频率越高,速度就越快。也就是说,频率是决定内存性能的一个非常重要的因素。

  其实,电脑内存由第一代的DDR,发展到现在最想的DDR4,可以看到,越是最新的内存,频率往往更高,通过内存频率,我们有时候也基本可以判断内存是第几代的产品。

  第一代DDR古董内存就不说了,下面主要从DDR3第二代内存说起:

  DDR2内存 频率:333MHz/400MHz/667MHz/800MHz/1066MHz 工作电压1.8V;

  DDR3内存 频率:1066MHz、1333MHz、1600MHz、2133 工作电压1.5V;

  DDR4内存:频率:2133MHz、2400MHz、3000MHz、3200 工作电压1.2V;

  可以看到,越是新一代内存,频率越高,并且工作电压由于工艺的提升,电压更低,功耗还更低。

  


  三、虚拟内存

  内存的一项主要任务,就是存储进程的相关数据。我们之前已经看到过进程空间的程序段、全局数据、栈和堆,以及这些这些存储结构在进程运行中所起到的关键作用。有趣的是,尽管进程和内存的关系如此紧密,但进程并不能直接访问内存。在Linux下,进程不能直接读写内存中地址为0x1位置的数据。进程中能访问的地址,只能是虚拟内存地址(virtual memory address)。操作系统会把虚拟内存地址翻译成真实的内存地址。这种内存管理方式,称为虚拟内存(virtual memory)。

  每个进程都有自己的一套虚拟内存地址,用来给自己的进程空间编号。进程空间的数据同样以字节为单位,依次增加。从功能上说,虚拟内存地址和物理内存地址类似,都是为数据提供位置索引。进程的虚拟内存地址相互独立。因此,两个进程空间可以有相同的虚拟内存地址,如0x10001000。虚拟内存地址和物理内存地址又有一定的对应关系,如图1所示。对进程某个虚拟内存地址的操作,会被CPU翻译成对某个具体内存地址的操作。

  


  图 虚拟内存地址和物理内存地址的对应

  应用程序来说对物理内存地址一无所知。它只可能通过虚拟内存地址来进行数据读写。程序中表达的内存地址,也都是虚拟内存地址。进程对虚拟内存地址的操作,会被操作系统翻译成对某个物理内存地址的操作。由于翻译的过程由操作系统全权负责,所以应用程序可以在全过程中对物理内存地址一无所知。因此,C程序中表达的内存地址,都是虚拟内存地址。比如在C语言中,可以用下面指令来打印变量地址:

  intv = 0;

  printf("%p",(void*)&v);

  本质上说,虚拟内存地址剥夺了应用程序自由访问物理内存地址的权利。进程对物理内存的访问,必须经过操作系统的审查。因此,掌握着内存对应关系的操作系统,也掌握了应用程序访问内存的闸门。借助虚拟内存地址,操作系统可以保障进程空间的独立性。只要操作系统把两个进程的进程空间对应到不同的内存区域,就让两个进程空间成为“老死不相往来”的两个小王国。两个进程就不可能相互篡改对方的数据,进程出错的可能性就大为减少。

  另一方面,有了虚拟内存地址,内存共享也变得简单。操作系统可以把同一物理内存区域对应到多个进程空间。这样,不需要任何的数据复制,多个进程就可以看到相同的数据。内核和共享库的映射,就是通过这种方式进行的。每个进程空间中,最初一部分的虚拟内存地址,都对应到物理内存中预留给内核的空间。这样,所有的进程就可以共享同一套内核数据。共享库的情况也是类似。对于任何一个共享库,计算机只需要往物理内存中加载一次,就可以通过操纵对应关系,来让多个进程共同使用。IPO中的共享内存,也有赖于虚拟内存地址。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯