当前位置:文档之家› 内存基本知识详解

内存基本知识详解

内存基本知识详解
内存基本知识详解

内存这样小小的一个硬件,却是PC系统中最必不可少的重要部件之一。而对于入门用户来说,可能从内存的类型、工作频率、接口类型这些简单的参数的印象都可能很模糊的,而对更深入的各项内存时序小参数就更摸不着头脑了。而对于进阶玩家来说,内存的一些具体的细小参数设置则足以影响到整套系统的超频效果和最终性能表现。如果不想当菜鸟的话,虽然不一定要把各种参数规格一一背熟,但起码有一个基本的认识,等真正需要用到的时候,查起来也不会毫无概念。

内存种类

目前,桌面平台所采用的内存主要为DDR 1、DDR 2和DDR 3三种,其中DDR1内存已经基本上被淘汰,而DDR2和DDR3是目前的主流。

DDR1内存

第一代DDR内存

DDR SDRAM 是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。

DDR2内存

第二代DDR内存

DDR2 是DDR SDRAM 内存的第二代产品。它在DDR 内存技术的基础上加以改进,从而其传输速度更快(可达800MHZ ),耗电量更低,散热性能更优良。

DDR3内存

第三代DDR内存

DDR3相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读。DDR3目前最高能够1600Mhz的速度,由于目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,因而首批DDR3内存模组将会从1333Mhz的起跳。

三种类型DDR内存之间,从内存控制器到内存插槽都互不兼容。即使是一些在同时支持两种类型内存的Combo主板上,两种规格的内存也不能同时工作,只能使用其中一种内存。

内存SPD芯片

内存SPD芯片

SPD(Serial Presence Detect): SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电可擦写可编程只读存储器), 容量为256字节,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。

启动计算机后,主板BIOS就会读取SPD中的信息,主板北桥芯片组就会根据这些参数信息来自动配置相应的内存工作时序与控制寄存器,从而可以充分发挥内存条的性能。上述情况实现的前提条件是在BIOS设置界面中,将内存设置选项设为“By SPD”。当主板从内存条中不能检测到SPD信息时,它就只能提供一个较为保守的配置。

从某种意义上来说,SPD芯片是识别内存品牌的一个重要标志。如果SPD内的参数值设置得不合理,不但不能起到优化内存的作用,反而还会引起系统工作不稳定,甚至死机。因此,很多普通内存或兼容内存厂商为了避免兼容性问题,一般都将SPD中的内存工作参数设置得较为保守,从而限制了内存性能的充分发挥。更有甚者,一些不法厂商通过专门的读

写设备去更改SPD信息,以骗过计算机的检测,得出与实际不一致的数据,从而欺骗消费者。

XMP技术

支持XMP技术的内存产品

BIOS里的XMP设置

Intel Extreme Memory Profiles 简称XMP,它是一种提高内存性能的技术,与NVIDIA 的SLI Memory技术类似。Intel制定了Intel Extreme Memory Profiles (Intel XMP Specification),会对DDR3内存作出认证,芯片组会自动识别通过认证的指定品牌和指定型号的内存模组产品,通过提高数据吞吐量,增加带宽等手段使其性能增加。

英特尔公司表示,由于主要面向未来的高端平台,因此这项技术并不会出现在DDR2内存模组上,要想使用“Extreme Memory”技术的首要条件就是要使用DDR3内存。

内存控制器(Memory Controller)

内存控制器是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK 数、内存类型和速度、内存颗粒数据深度和数据宽度等等重要参数,也就是说决定了计算机系统的内存性能,从而也对计算机系统的整体性能产生较大影响。

早期内存控制器集成在主板北桥芯片

传统的计算机系统其内存控制器位于主板芯片组的北桥芯片内部,CPU要和内存进行数据交换,需要经过“CPU--北桥--内存--北桥--CPU”五个步骤,在此模式下数据经由多级传输,数据延迟显然比较大从而影响计算机系统的整体性能;而AMD的K8系列CPU(包括Socket 754/939/940等接口的各种处理器)内部则整合了内存控制器,CPU与内存之间的数据交换过程就简化为“CPU--内存--CPU”三个步骤,省略了两个步骤,与传统的内存控制器方案相比显然具有更低的数据延迟,这有助于提高计算机系统的整体性能。

AMD率先在桌面平台将内存控制器集成在CPU

英特尔新酷睿家族处理器也集成了内存控制器

CPU内部整合内存控制器的优点,就是可以有效控制内存控制器工作在与CPU核心同样的频率上,而且由于内存与CPU之间的数据交换无需经过北桥,可以有效降低传输延迟。打个比方,这就如同将货物仓库直接搬到了加工车间旁边,大大减少了原材料和制成品在货物仓库和加工车间之间往返运输所需要的时间,极大地提高了生产效率。这样一来系统的整体性能也得到了提升。

内存规格参数

内存性能规格标签

内存频率

和CPU一样,内存也有自己的工作频率,频率以MHz为单位内存主频越高在一定程度上代表着内存所能达到的速度越快。内存主频决定着该内存最高能在什么样的频率正常工作。目前最为主流的内存频率为DDR2-800和DDR3-1333,作为DDR2的替代者,DDR3

内存的频率已经在向3000MHz进发。

内存容量

内存的容量不但是影响内存价格的因素,同时也是影响到整机系统性能的因素。过去Windows XP平台,512M的内存还是主流,1GB已经是大容量;到了现在,64位系统开始普及,Windows Vista、Windows 7越来越多人使用,没有2GB左右的内存都不一定能保证操作的流畅度。目前,单根内存的容量主要有1GB、2GB两种,高端的还有很罕有的单根4GB超大容量内存

工作电压

内存正常工作所需要的电压值,不同类型的内存电压也不同,但各自均有自己的规格,超出其规格,容易造成内存损坏。DDR2内存的工作电压一般在1.8V左右,而DDR3内存则在1.6V左右。有的高频内存需要工作在高于标准的电压值下,具体到每种品牌、每种型

号的内存,则要看厂家了。只要在允许的范围内浮动,略微提高内存电压,有利于内存超频,但是同时发热量大大增加,因此有损坏硬件的风险。

内存时序参数

BIOS内存时序设置

tCL : CAS Latency Control(tCL)

一般我们在查阅内存的时序参数时,如“8-8-8-24”这一类的数字序列,上述数字序列分别对应的参数是“CL-tRCD-tRP-tRAS”。这个第一个“8”就是第1个参数,即CL参数。

CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency是“内存读写操作前列地址控制器的潜伏时间”。CAS控制从接受一个指令到执行指令之间的时间。因为CAS主要控制十六进制的地址,或者说是内存矩阵中的列地址,所以它是最为重要的参数,在稳定的前提下应该尽可能设低。

内存是根据行和列寻址的,当请求触发后,最初是tRAS(Activeto Precharge Delay),预充电后,内存才真正开始初始化RAS。一旦tRAS激活后,RAS(Row Address Strobe )开始进行需要数据的寻址。首先是行地址,然后初始化tRCD,周期结束,接着通过CAS

访问所需数据的精确十六进制地址。期间从CAS开始到CAS结束就是CAS延迟。所以CAS 是找到数据的最后一个步骤,也是内存参数中最重要的。

这个参数控制内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。必须注意部分内存不能运行在较低的延迟,可能会丢失数据。而且提高延迟能使内存运行在更高的频率,所以需要对内存超频时,应该试着提高CAS延迟。

该参数对内存性能的影响最大,在保证系统稳定性的前提下,CAS值越低,则会导致更快的内存读写操作。

内存标签

tRCD : RAS to CAS Delay

该值就是“8-8-8-24”内存时序参数中的第2个参数,即第2个“8”。RAS to CAS Delay(也被描述为:tRCD、RAS to CAS Delay、Active to CMD),表示"行寻址到列寻址延迟时间",数值越小,性能越好。对内存进行读、写或刷新操作时,需要在这两种脉冲信号之间插入延迟时钟周期。在JEDEC规范中,它是排在第二的参数,降低此延时,可以提高系统性能。如果你的内存的超频性能不佳,则可将此值设为内存的默认值或尝试提高tRCD值。

tRP : Row Precharge Timing(tRP)

该值就是“8-8-8-24”内存时序参数中的第3个参数,即第3个“8”。Row Precharge Timing (也被描述为:tRP、RAS Precharge、Precharge to active),表示"内存行地址控制器预充电时间",预充电参数越小则内存读写速度就越快。tRP用来设定在另一行能被激活之前,RAS 需要的充电时间。

tRAS : Min RAS Active Timing

该值就是该值就是“8-8-8-24”内存时序参数中的最后一个参数,即“24”。Min RAS Active Time (也被描述为:tRAS、Active to Precharge Delay、Row Active Time、Precharge Wait State、

Row Active Delay、Row Precharge Delay、RAS Active Time),表示“内存行有效至预充电的最短周期”,调整这个参数需要结合具体情况而定,一般我们最好设在24~30之间。这个参数要根据实际情况而定,并不是说越大或越小就越好。

如果tRAS的周期太长,系统会因为无谓的等待而降低性能。降低tRAS周期,则会导致已被激活的行地址会更早的进入非激活状态。如果tRAS的周期太短,则可能因缺乏足够的时间而无法完成数据的突发传输,这样会引发丢失数据或损坏数据。该值一般设定为CAS latency + tRCD + 2个时钟周期。

DDR2—DDR3的换代交接已经基本完成

对于大多数人来说,内存这个小硬件选好容量和频率,然后插上主板用上就行了,对它的很多小参数完全不在意。所以,行业厂商也会提供比较傻瓜式的读取内存SPD芯片的参数信息,自动设置各项小参,简单好用;更有简单的超频设置——XMP技术,让普通用户也能简单地享受超频增值的乐趣。当然,真正的玩家在超频时为了达到最理想的效果,还是更倾向于手动设置各项小参。希望通过这篇文章,大家能对内存的各项参数有更深的理解,并在使用上有一定的帮助。

内存试题

实训四内存、硬盘的参数认知任务目标 掌握内存、硬盘的性能参数; 了解内存的功能和分类; 了解硬盘的分类及结构; 任务准备 计算机一台; 能连接互联网; 任务操作 (1)、知识阅读(资料文件夹下的CPU和主板) 1、内存的工作原理; 2、内存; 3、内存简介; 4、如何识别内存条; 5、内存条的发展; 6、DDR; 7、从外观区别DDR和DDR2,DDR3; 8、怎么识别内存型号。 9、常见的三大硬盘“形态”;

10、揭秘泰国洪水如何成为硬盘涨价替罪羊; 11、硬盘厂商情何以堪创见2TB U盘研发成功; 12、MHDD使用方法图解; 13、固态硬盘; 14、再吹就成SSD 厂家最爱4大硬盘关键词; 15、蓝光光驱; (2)、习题 内存部分 1、在计算机中, Cache 又称为:( D )。 A:存储器B:高速存储器C:高速缓冲存储器D:缓冲存储器 2、关机后,其中的程序和数据都不会丢失的内存是( D )。 A:硬盘B:软盘C:RAM D:ROM 3、下列设备中,响应CPU访问速度最快的是:( C )。 A:硬盘B:软盘C:内存储器D:光盘 4、内存存取时间的单位是(C) A:毫秒B:秒C:纳秒D:分 5、DDRIII内存的工作电压为:( D ) A:3.3v B:2.5v C:2.3v D:1.5v 6、我们一般所说的内存是指ROM( B ) A:对B:错 7、双通道内存技术是与主板芯片组有关的技术与内存本身无关

的技术。( B ) A:对B:错 8、ROM是随机存储器,RAM是只读存储器?( B 说反了) A:对B:错 9、内存主要是指随机存取存储器,断电后数据将会丢失。( A) A:对B:错 多选题: 10、内存的性能指标有(DC ) A:接口类型B:内存条的大小C:内存的容量D:内存颗粒的速度 11、随机存储器RAM可分为哪两种类型的存储器:(AB) A:SRAM B:DRAM C:DDRAM D:SDRAM 简答: 12、内存条的主要技术指标有哪些? SRAM RAM SDRAM同步动态、随机储存器,3.3V/168引脚DRAM DDRAM 2.5V/184线, DDRⅡ 1.8V 240线 DDRⅢ 1.5V 240线 13、简述内存条选购要点? 品牌,

操作系统内存管理复习过程

操作系统内存管理

操作系统内存管理 1. 内存管理方法 内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 2. 连续分配存储管理方式 连续分配是指为一个用户程序分配连续的内存空间。连续分配有单一连续存储管理和分区式储管理两种方式。 2.1 单一连续存储管理 在这种管理方式中,内存被分为两个区域:系统区和用户区。应用程序装入到用户区,可使用用户区全部空间。其特点是,最简单,适用于单用户、单任务的操作系统。CP/M和 DOS 2.0以下就是采用此种方式。这种方式的最大优点就是易于管理。但也存在着一些问题和不足之处,例如对要求内

存空间少的程序,造成内存浪费;程序全部装入,使得很少使用的程序部分也占用—定数量的内存。 2.2 分区式存储管理 为了支持多道程序系统和分时系统,支持多个程序并发执行,引入了分区式存储管理。分区式存储管理是把内存分为一些大小相等或不等的分区,操作系统占用其中一个分区,其余的分区由应用程序使用,每个应用程序占用一个或几个分区。分区式存储管理虽然可以支持并发,但难以进行内存分区的共享。 分区式存储管理引人了两个新的问题:内碎片和外碎片。 内碎片是占用分区内未被利用的空间,外碎片是占用分区之间难以利用的空闲分区(通常是小空闲分区)。 为实现分区式存储管理,操作系统应维护的数据结构为分区表或分区链表。表中各表项一般包括每个分区的起始地址、大小及状态(是否已分配)。

分区式存储管理常采用的一项技术就是内存紧缩(compaction)。 2.2.1 固定分区(nxedpartitioning)。 固定式分区的特点是把内存划分为若干个固定大小的连续分区。分区大小可以相等:这种作法只适合于多个相同程序的并发执行(处理多个类型相同的对象)。分区大小也可以不等:有多个小分区、适量的中等分区以及少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。 优点:易于实现,开销小。 缺点主要有两个:内碎片造成浪费;分区总数固定,限制了并发执行的程序数目。 2.2.2动态分区(dynamic partitioning)。 动态分区的特点是动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。与固定分区相比较其优点是:没有内碎

北理工操作系统内存管理实验报告

实验三:内存管理 班级: 学号:

姓名: 一、实验目的 1.通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解; 2.熟悉虚存管理的页面淘汰算法; 3.通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 二、实验要求 1.设计一个请求页式存储管理方案(自己指定页面大小),并予以程序实现。 并产生一个需要访问的指令地址流。它是一系列需要访问的指令的地址。为不失一般性,你可以适当地(用人工指定地方法或用随机数产生器)生成这个序列。 2.页面淘汰算法采用FIFO页面淘汰算法,并且在淘汰一页时,只将该页在页 表中抹去。而不再判断它是否被改写过,也不将它写回到辅存。 3.系统运行既可以在Windows,也可以在Linux。 三、实验流程图

图1 页式存储管理程序参考流程 四、实验环境 硬件设备:个人计算机。 系统软件:windows操作系统,Visual C++6.0编译环境。 五、实验结果

说明:模拟产生35个指令地址,随机产生20个指令地址进行排队,假设主存中共有10个工作集页帧。将前9个指令调入内存,因为前9个指令中,页号为13的指令有两个,所以调入内存中共有8页。此时主存中还有两个空闲帧。此时按刚才随机顺序进行访问指令工作。前9页因都在主存中可直接调用。第10个随机地址为页号为5的指令,也在主存中,也可直接调用。页号为24,3因不在主存中,需要调用进主存。此时主存已满。然后主存需要进行调用页号为27号的指令,因主存已满,需要执行FIFO算法,将最先进入主存的页号为30的指令调出,将27号放入第1000000帧。以后需要调用的页面按照存在就无需调用,否则按FIFO原则进行调页工作。 六、实验感想 七、实验代码 #include

计算机内存发展史

计算机内存发展史 内存是电脑必不可少的组成部分,CPU 可通过数据总线对内存寻址。历史上的电脑 主板上有主内存,内存条是主内存的扩展。 以后的电脑主板上没有主内存,CPU完全依 赖内存条。所有外存上的内容必须通过内存 才能发挥作用。 在计算机诞生初期并不存在内存条的概 念,最早的内存是以磁芯的形式排列在线路 上,每个磁芯与晶体管组成的一个双稳态电路作为一比特(BIT)的存储器,每一比特都要有玉米粒大小,可以想象一间的机房只能装下不超过百k字节左右的容量。后来才出线现了焊接在主板上集成内存芯片,以内存芯片的形式为计算机的运算提供直接支持。那时的内存芯片容量都特别小,最常见的莫过于 256K×1bit、1M×4bit,虽然如此,但这相对于那时的运算任务来说却已经绰绰有余了。一、内存条的诞生 内存芯片的状态一直沿用到286初期,鉴于它存 在着无法拆卸更换的弊病,这对于计算机的发展造成 了现实的阻碍。有鉴于此,内存条便应运而生了。将 内存芯片焊接到事先设计好的印刷线路板上,而电脑 主板上也改用内存插槽。这样就把内存难以安装和更 换的问题彻底解决了。 在80286主板发布之前,内存并没有被世人所重 视,这个时候的内存是直接固化在主板上,而且容量 只有64 ~256KB,对于当时PC所运行的工作程序 来说,这种内存的性能以及容量足以满足当时软件程 序的处理需要。不过随着软件程序和新一代80286硬件平台的出现,程序和硬件对内存性能提出了更高要求,为了提高速度并扩大容量,内存必须以独立的封装形式出现,因而诞生了“内存条”概念。 在80286主板刚推出的时候,内存条采用了SIMM(Single In-lineMemory Modules,单边接触内存模组)接口,容量为30pin、256kb,必须是由8 片数据位和1 片校验位组成1 个bank,正因如此,我们见到的30pin SIMM一般是四条一起使用。自1982年PC进入民用市场一直到现在,搭配80286处理器的30pin SIMM 内存是内存领域的开山鼻祖。 随后,在1988 ~1990 年当中,PC 技术迎来另一个发展高峰,也就是386和486时代,此时CPU 已经向16bit 发展,所以30pin SIMM 内存再也无法满足需求,其较低的内存带宽已经成为急待解决的瓶颈,所以此时72pin SIMM 内存出现了,72pin SIMM支持32bit快速页模式内存,内存带宽得以大幅度提升。72pin SIMM内存单条容量一般为 512KB ~2MB,而且仅要求两条同时使用,由于其与30pin SIMM 内存无法兼容,因此这个时候PC业界毅然将30pin SIMM 内存淘汰出局了。

动态内存管理知识总结

1.标准链接库提供四个函数实现动态内存管理: (1)分配新的内存区域: void * malloc(size_t size); void *calloc(size_t count , size_t size); (2)调整以前分配的内存区域: void *realloc(void *ptr , size_t size); (3)释放以前分配的内存区域: void free(void *ptr); 2.void * malloc(size_t size); 该函数分配连续的内存空间,空间大小不小于size 个字节。但分配的空间中的内容是未知的。该函数空间分配失败则返回NULL。 3.void *calloc(size_t count , size_t size); 该函数也可以分配连续的内存空间,分配不少于count*size个字节的内存空间。即可以为一个数组分配空间,该数组有count个元素,每个元素占size个字节。而且该函数会将分配来的内存空间中的内容全部初始化为0 。该函数空间分配失败则返回NULL。 4. 以上两个分配内存空间的函数都返回void * (空类型指针或无类型指针)返回的指针值是“分配的内存区域中”第一个字节的地址。当存取分配的内存位置时,你所使用的指针类型决定如何翻译该位置的数据。以上两种分配内存空间的方法相比较,calloc()函数的效果更好。原因是它将分配得来的内存空间按位全部置0 。 5. 若使用上述两种分配内存的函数分配一个空间大小为0 的内存,函数会返回一个空指针或返回一个没有定义的不寻常指针。因此绝不可以使用“指向0 字节区域”的指针。 6. void *realloc(void *ptr , size_t size); 该函数释放ptr所指向的内存区域,并分配一个大小为size字节的内存区域,并返回该区域的地址。新的内存区域可以和旧的内存区域一样,开始于相同的地址。且此函数也会保留原始内存内容。如果新的内存区域没有从原始区域的地址开始,那么此函数会将原始的内容复制到新的内存区域。如果新的内存区域比较大,那么多出来部分的值是没有意义的。 7. 可以把空指针传给realloc()函数,这样的话此函数类似于malloc()函数,并得到一块内存空间。如果内存空间不足以满足内存区域分配的请求,那么realloc()函数返回一个空指针,这种情况下,不会释放原始的内存区域,也不会改变它的内容。 8. void free(void *ptr); 该函数释放动态分配的内存区域,开始地址是ptr,ptr的值可以是空指针。若在调用此函数时传入空指针,则此函数不起任何作用。 9. 传入free() 和realloc()函数的指针(若不为空指针时)必须是“尚未被释放的动态分配内存区域的起始地址”。否则函数的行为未定义。Realloc()函数也可以释放内存空间,例如:Char *Ptr = (char *)malloc(20); 如只需要10个字节的内存空间,且保留前十个字节的内容,则可以使用realloc()函数。 Ptr = Realloc(ptr,10); // 后十个字节的内存空间便被释放

内存管理

第八章内存管理 1.地址捆绑 输入队列:在磁盘上等待调入内存以便执行的进程形成了输入队列 捆绑是从一个地址到另一个地址的映射。 编译时:如果在编译时就知道进程将在内存中的驻留地址,那么就可生成绝对代码 加载时:如果在编译时并不知到进程将驻留在何处,那么编译器就必须生成可重定位代码执行时:如果进程在执行时可以从一个内存段转移到另一个内存段,那么捆绑必须延迟到执行时才进行 2.逻辑地址(相对地址,虚拟地址):CPU所生成的地址or 用户程序中使用的地址 物理地址(内存地址,绝对地址):内存单元所看到的地址 编译时和加载时的地址捆绑生成相同的逻辑地址和物理地址运行时不同 重定位寄存器(relocation register)即基址寄存器(base register) 内存管理单元(MMU):运行时实现从虚拟地址到物理地址的映射(map)的硬件设备 3.动态加载 ①所有的子程序只有在调用时才被加载 ②提高内存空间使用率,不用的子程序绝不会被装入内存 ③如果大多数代码需要处理异常情况时是非常有用的。 ④不需要操作系统的特别支持,通过程序设计实现。操作系统可能会为程序员提供实现动态装入的库函数。 4.动态链接库 ①动态链接直到执行时才进行链接。 ②利用动态链接,在映象中为每个库函数引用(library-routine reference)包含一个占位程序(stub)。占位程序是一小段代码,它指明了怎样定位驻留在内存中的库函数或函数不在内存中时怎样装入库。占位程序执行时,它检查所需的函数(routine)是否已经在内存中。如果没有,就把函数装入内存。或者以另外一种方式,占位程序用函数地址取代自身并执行这个函数。这样,下一次到达这段代码时,可以直接执行库函数(library routine)而无需动态

内存基础知识

内存基础知识学习笔记 紧接着上个星期的硬件学习,在了解了硬盘的一定基础知识之后,转战内存。但发现内存的知识要比硬盘的知识要多得多,因此这次笔记只对RAM里的DRAM的一些相关知识做一些整理。 什么是内存: 内存(Computer memory)是一种利用半导体技术做成的电子装置,用来储存资料。电子电路的资料是以二进制的方式储存,存储器的每一个储存单元称为记忆元。内存可以根据储存能力与电源的关系可以分为以下两类:易失性存储器(挥发性内存)和非易失性存储器(非挥发性内存) 分类 易失性存储器(Volatile memory)指的是当电源供应中断后,存储器所储存的资料便会消失的存储器。主要有以下的类型: RAM(Random access memory,随机访问存储器) DRAM(Dynamic random access memory,动态随机访问存储器) SRAM(Static random access memory,静态随机访问存储器) 非易失性存储器 非易失性存储器(Non-volatile memory)是指即使电源供应中断,存储器所储存的资料并不会消失,重新供电后,就能够读取内存资料的存储器。主要有以下的类型: ROM(Read-only memory,只读存储器) PROM(Programmable read-only memory,可编程只读存储器) EPROM(Erasable programmable read only memory,可擦可编程只读存储器) EEPROM (Electrically erasable programmable read only memory,可电擦可编程只读存储器)Flash memory(快闪存储器) 下面主要整理了DRAM的相关资料。 DRMA 动态随机存取存储器(Dynamic Random Access Memory,DRAM)是一种半导体内存,主要的作用原理是利用电容内储存电荷的多寡来代表一个二进制位元(bit)是1还是0。DRAM的结构可谓是简单高效,每一个bit只需要一个晶体管(起开关作用)加一个电容。但是电容不可避免的存在漏电现象,如果电荷不足会导致数据出错,因此电容必须被周期性的刷新(预充电),这也是DRAM的一大特点。而且电容的充放电需要一个过程,刷新频率不可能无限提升(频障),这就导致DRAM的频率很容易达到上限,即便有先进工艺的支持也收效甚微。 频率: 通常大家所说的DDR-400、DDR2-800、DDR3-1600等,其实并非是内存的真正频率,而是业界约定俗成的等效频率,这些DDR1/2/3内存相当于老牌SDR内存运行在400MHz、800MHz、1600MHz时的带宽,因此频率看上去很夸张,其实真正的内核频率都只有200MHz。内存有三种不同的频率指标,它们分别是核心频率、时钟频率和有效数据传输频率。核心频率即为内存Cell阵列(Memory Cell Array,即内部电容)的刷新频率,它是内存的真实运行频率;时钟频率即I/O Buffer(输入/输出缓冲)的传输频率;而有效数据传输频率就是指数据传送的频率(即等效频率)。

DRAM与内存基础概念 (1)

SDRAM与内存基础概念 一、SDRAM内存模组与基本结构 我们平时看到的SDRAM都是以模组形式出现,为什么要做成这种形式呢?这首先要接触到两个概念:物理Bank与芯片位宽。 PC133时代的168pin SDRAM DIMM 1、物理Bank 传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit (位)。当时控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,下文简称P-Bank)的位宽。所以,那时的内存必须要组织成P-Bank来与CPU打交道。资格稍老的玩家应该还记得Pentium刚上市时,需要两条72pin的SIMM才能启动,因为一条72pin -SIMM 只能提供32bit的位宽,不能满足Pentium的64bit数据总线的需要。直到168pin-SDRAM DIMM上市后,才可以使用一条内存开机。下面将通过芯片位宽的讲述来进一步解释P-Bank 的概念。 不过要强调一点,P-Bank是SDRAM及以前传统内存家族的特有概念,在RDRAM中将以通道(Channel)取代,而对于像Intel E7500那样的并发式多通道DDR系统,传统的P-Bank 概念也不适用。 2、芯片位宽 上文已经讲到SDRAM内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank位宽怎么得到呢?这就涉及到了内存芯片的结构。每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为64bit的芯片来满足P-Bank的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。台式机市场所用的SDRAM芯片位宽最高也就是16bit,常见的则是8bit。这样,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。对于16bit芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。以上就是芯片位宽、芯片数量与P-Bank的关系。P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。随着计算机应用的发展,一个系统只有一

两种常见的内存管理方法:堆和内存池

两种常见的内存管理方法:堆和内存池 本文导读 在程序运行过程中,可能产生一些数据,例如,串口接收的数据,ADC采集的数据。若需将数据存储在内存中,以便进一步运算、处理,则应为其分配合适的内存空间,数据处理完毕后,再释放相应的内存空间。为了便于内存的分配和释放,AWorks提供了两种内存管理工具:堆和内存池。 本文为《面向AWorks框架和接口的编程(上)》第三部分软件篇——第9章内存管理——第1~2小节:堆管理器和内存池。 本章导读 在计算机系统中,数据一般存放在内存中,只有当数据需要参与运算时,才从内存中取出,交由CPU运算,运算结束再将结果存回内存中。这就需要系统为各类数据分配合适的内存空间。 一些数据需要的内存大小在编译前可以确定。主要有两类:一类是全局变量或静态变量,这部分数据在程序的整个生命周期均有效,在编译时就为这些数据分配了固定的内存空间,后续直接使用即可,无需额外的管理;一类是局部变量,这部分数据仅在当前作用域中有效(如函数中),它们需要的内存自动从栈中分配,也无需额外的管理,但需要注意的是,由于这一部分数据的内存从栈中分配,因此,需要确保应用程序有足够的栈空间,尽量避免定义内存占用较大的局部变量(比如:一个占用数K内存的数组),以避免栈溢出,栈溢出可能破坏系统关键数据,极有可能造成系统崩溃。 一些数据需要的内存大小需要在程序运行过程中根据实际情况确定,并不能在编译前确定。例如,可能临时需要1K内存空间用于存储远端通过串口发过来的数据。这就要求系统具有对内存空间进行动态管理的能力,在用户需要一段内存空间时,向系统申请,系统选择一段合适的内存空间分配给用户,用户使用完毕后,再释放回系统,以便系统将该段内存空间回收再利用。在AWorks中,提供了两种常见的内存管理方法:堆和内存池。9.1 堆管理器

操作系统实验之内存管理实验报告

学生学号 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称 计算机操作系统 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 2016 — 2017 学年第一学期

实验三 内存管理 一、设计目的、功能与要求 1、实验目的 掌握内存管理的相关内容,对内存的分配和回收有深入的理解。 2、实现功能 模拟实现内存管理机制 3、具体要求 任选一种计算机高级语言编程实现 选择一种内存管理方案:动态分区式、请求页式、段式、段页式等 能够输入给定的内存大小,进程的个数,每个进程所需内存空间的大小等 能够选择分配、回收操作 内购显示进程在内存的储存地址、大小等 显示每次完成内存分配或回收后内存空间的使用情况 二、问题描述 所谓分区,是把内存分为一些大小相等或不等的分区,除操作系统占用一个分区外,其余分区用来存放进程的程序和数据。本次实验中才用动态分区法,也就是在作业的处理过程中划分内存的区域,根据需要确定大小。 动态分区的分配算法:首先从可用表/自由链中找到一个足以容纳该作业的可用空白区,如果这个空白区比需求大,则将它分为两个部分,一部分成为已分配区,剩下部分仍为空白区。最后修改可用表或自由链,并回送一个所分配区的序号或该分区的起始地址。 最先适应法:按分区的起始地址的递增次序,从头查找,找到符合要求的第一个分区。

最佳适应法:按照分区大小的递增次序,查找,找到符合要求的第一个分区。 最坏适应法:按分区大小的递减次序,从头查找,找到符合要求的第一个分区。 三、数据结构及功能设计 1、数据结构 定义空闲分区结构体,用来保存内存中空闲分区的情况。其中size属性表示空闲分区的大小,start_addr表示空闲分区首地址,next指针指向下一个空闲分区。 //空闲分区 typedef struct Free_Block { int size; int start_addr; struct Free_Block *next; } Free_Block; Free_Block *free_block; 定义已分配的内存空间的结构体,用来保存已经被进程占用了内存空间的情况。其中pid作为该被分配分区的编号,用于在释放该内存空间时便于查找。size表示分区的大小,start_addr表示分区的起始地址,process_name存放进程名称,next指针指向下一个分区。 //已分配分区的结构体 typedef struct Allocate_Block { int pid; int size; int start_addr; char process_name[PROCESS_NAME_LEN]; struct Allocate_Block *next; } Allocate_Block; 2、模块说明 2.1 初始化模块 对内存空间进行初始化,初始情况内存空间为空,但是要设置内存的最大容量,该内存空间的首地址,以便之后新建进程的过程中使用。当空闲分区初始化

操作系统第五版答案第7章内存管理

第7章内存管理 复习题: 7.1.内存管理需要满足哪些需求? 答:重定位、保护、共享、逻辑组织和物理组织。 7.2.为什么需要重定位进程的能力? 答:通常情况下,并不能事先知道在某个程序执行期间会有哪个程序驻留在主存中。 此外还希望通过提供一个巨大的就绪进程池,能够把活动进程换入和换出主存,以便使处理器的利用率最大化。在这两种情况下,进程在主存中的确切位置是不可预知的。 7.3.为什么不可能在编译时实施内存保护? 答:由于程序在主存中的位置是不可预测的,因而在编译时不可能检查绝对地址来确保保护。并且,大多数程序设计语言允许在运行时进行地址的动态计算(例如,通过计算数组下标或数据结构中的指针)。因此,必须在运行时检查进程产生的所有存储器访问,以便确保它们只访问了分配给该进程的存储空间。 7.4.允许两个或多个进程访问进程的某一特定区域的原因是什么? 答:如果许多进程正在执行同一程序,则允许每个进程访问该程序的同一个副本要比让每个进程有自己单独的副本更有优势。同样,合作完成同一任务的进程可能需要共享访问同一个数据结构。 7.5.在固定分区方案中,使用大小不等的分区有什么好处? 答:通过使用大小不等的固定分区:1.可以在提供很多分区的同时提供一到两个非常大的分区。大的分区允许将很大的进程全部载入主存中。2.由于小的进程可以被放入小的分区中,从而减少了内部碎片。 7.6.内部碎片和外部碎片有什么区别? 答:内部碎片是指由于被装入的数据块小于分区大小而导致的分区内部所浪费的空间。外部碎片是与动态分区相关的一种现象,它是指在所有分区外的存储空间会变成越来越多的碎片的。 7.7.逻辑地址、相对地址和物理地址间有什么区别? 答:逻辑地址是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转化成物理地址。相对地址是逻辑地址的一个特例,是相对于某些已知点(通常是程序的开始处)的存储单元。物理地址或绝对地址是数据在主存中的实际位置。 7.8.页和帧之间有什么区别? 答:在分页系统中,进程和磁盘上存储的数据被分成大小固定相等的小块,叫做页。 而主存被分成了同样大小的小块,叫做帧。一页恰好可以被装入一帧中。 7.9.页和段之间有什么区别? 答:分段是细分用户程序的另一种可选方案。采用分段技术,程序和相关的数据被划分成一组段。尽管有一个最大段长度,但并不需要所有的程序的所有段的长度都相等。习题: 7.1. 2.3节中列出了内存管理的5个目标,7.1节中列出了5中需求。请说明它们是一致 的。 答: 重定位≈支持模块化程序设计; 保护≈保护和访问控制以及进程隔离; 共享≈保护和访问控制; 逻辑组织≈支持模块化程序设计; 物理组织≈长期存储及自动分配和管理.

常见内存型号基础知识介绍

DDR=DoubleDataRate双倍速率同步固态随机处理器 严格的说DDR应该叫DDRSDRAM,人们习惯称为DDR,部分初学者也常看到DDRSDRAM,就 认为是SDRAM。DDRSDRAM是 DoubleDataRateSDRAM的缩写,是双倍速率同步动态随机存储 器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用 SDRAM生产体系,因此对 于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有 效的降低成本。 什么是DDR1? 有时候大家将老的存储技术DDR称为DDR1,使之与DDR2加以区分。尽管一般是使用DDR, 但DDR1与DDR的含义相同。 DDR1规格 DDR-200:DDR-SDRAM记忆芯片在100MHz下运行DDR-266:DDR-SDRAM记忆芯片在133MHz 下运行DDR- 333:DDR-SDRAM记忆芯片在166MHz下运行DDR-400:DDR-SDRAM记忆芯片在200MHz下运行(JEDEC制定的DDR最高规格)DDR-500:DDR-SDRAM记忆芯片在250MHz下运 行(非JEDEC制定的DDR规格)DDR-600:DDR-SDRAM记忆芯片在 300MHz下运行(非JEDEC 制定的DDR规格)DDR-700:DDR-SDRAM记忆芯片在350MHz下运行(非JEDEC制定的DDR规格) 什么是DDR2? DDR2/DDRII(DoubleDataRate2)SDRAM是由JEDEC(电子设备工程联合委员会)进行开 发的新生代内存技术标准,它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了 在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR 内存预读取能力(即:4bit数据读预取)。换句话说,DDR2内存每个时钟能够以4倍外部总 线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。 此外,由于DDR2标准规定所有DDR2内存均采用FBGA封装形式,而不同于目前广泛应用 的TSOP/TSOP-II封装形式,FBGA封装可以提供了更为良好的电气性能与散热性,为DDR2 内存的稳定工作与未来频率的发展提供了坚实的基础。回想起DDR的发展历程,从第一代应 用到个人电脑的 DDR200经过DDR266、DDR333到今天的双通道DDR400技术,第一代DDR 的发展也走到了技术的极限,已经很难通过常规办法提高内存的工作速度;随着Intel最新 处理器技术的发展,前端总线对内存带宽的要求是越来越高,拥有更高更稳定运行频率的DDR2内存将是大势所趋。 什么是DDR3? DDR3是针对Intel新型芯片的一代内存技术(但目前主要用于显卡内存),频率在800M 以上,和DDR2相比优势如下: (1)功耗和发热量较小:吸取了DDR2的教训,在控制成本的基础上减小了能耗和发热量,

内存基本知识详解

内存这样小小的一个硬件,却是PC系统中最必不可少的重要部件之一。而对于入门用户来说,可能从内存的类型、工作频率、接口类型这些简单的参数的印象都可能很模糊的,而对更深入的各项内存时序小参数就更摸不着头脑了。而对于进阶玩家来说,内存的一些具体的细小参数设置则足以影响到整套系统的超频效果和最终性能表现。如果不想当菜鸟的话,虽然不一定要把各种参数规格一一背熟,但起码有一个基本的认识,等真正需要用到的时候,查起来也不会毫无概念。 内存种类 目前,桌面平台所采用的内存主要为DDR 1、DDR 2和DDR 3三种,其中DDR1内存已经基本上被淘汰,而DDR2和DDR3是目前的主流。 DDR1内存 第一代DDR内存 DDR SDRAM 是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即可实现DDR内存的生产,可有效的降低成本。 DDR2内存

第二代DDR内存 DDR2 是DDR SDRAM 内存的第二代产品。它在DDR 内存技术的基础上加以改进,从而其传输速度更快(可达800MHZ ),耗电量更低,散热性能更优良。 DDR3内存 第三代DDR内存

DDR3相比起DDR2有更低的工作电压,从DDR2的1.8V降落到1.5V,性能更好更为省电;DDR2的4bit预读升级为8bit预读。DDR3目前最高能够1600Mhz的速度,由于目前最为快速的DDR2内存速度已经提升到800Mhz/1066Mhz的速度,因而首批DDR3内存模组将会从1333Mhz的起跳。 三种类型DDR内存之间,从内存控制器到内存插槽都互不兼容。即使是一些在同时支持两种类型内存的Combo主板上,两种规格的内存也不能同时工作,只能使用其中一种内存。 内存SPD芯片 内存SPD芯片 SPD(Serial Presence Detect): SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电可擦写可编程只读存储器), 容量为256字节,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。 启动计算机后,主板BIOS就会读取SPD中的信息,主板北桥芯片组就会根据这些参数信息来自动配置相应的内存工作时序与控制寄存器,从而可以充分发挥内存条的性能。上述情况实现的前提条件是在BIOS设置界面中,将内存设置选项设为“By SPD”。当主板从内存条中不能检测到SPD信息时,它就只能提供一个较为保守的配置。 从某种意义上来说,SPD芯片是识别内存品牌的一个重要标志。如果SPD内的参数值设置得不合理,不但不能起到优化内存的作用,反而还会引起系统工作不稳定,甚至死机。因此,很多普通内存或兼容内存厂商为了避免兼容性问题,一般都将SPD中的内存工作参数设置得较为保守,从而限制了内存性能的充分发挥。更有甚者,一些不法厂商通过专门的读

计算机操作系统内存分配实验报告记录

计算机操作系统内存分配实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理,在系统运行当然开始,假设初始状态下,可用的内存空间为640KB,存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后,分给作业1(130KB),随着作业1、2、3的进入,分别分配60KB、100KB,经过一段时间的运行后,作业2运行完毕,释放所占内存。此时,作业4进入系统,要求分配200KB内存。作业3、1运行完毕,释放所占内存。此时又有作业5申请140KB,作业6申请60KB,作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理,使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间,当该分区分配出去后,状态位就由“0”置为“1”。 设置一个内存空闲分区链,内存空间分区通过空闲分区链来管理,在进行内存分配时,系统优先使用空闲低端的空间。 设计一个空闲分区说明链,设计一个某时刻主存空间占用情况表,作为主存当前使用基础。初始化空间区和已分配区说明链的值,设计作业申请队列以及作业完成后释放顺序,实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明

实验操作系统存储管理实验报告

实验四操作系统存储管理实验报告 一、实验目的 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换算法。 二、实验内容 (1)通过计算不同算法的命中率比较算法的优劣。同时也考虑了用户内存容量对命中率的影响。 页面失效次数为每次访问相应指令时,该指令所对应的页不在内存中的次数。 在本实验中,假定页面大小为1k,用户虚存容量为32k,用户内存容量为4页到32页。 (2)produce_addstream通过随机数产生一个指令序列,共320条指令。 A、指令的地址按下述原则生成: 1)50%的指令是顺序执行的 2)25%的指令是均匀分布在前地址部分 3)25%的指令是均匀分布在后地址部分 B、具体的实施方法是: 1)在[0,319]的指令地址之间随机选取一起点m; 2)顺序执行一条指令,即执行地址为m+1的指令; 3)在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’; 4)顺序执行一条指令,地址为m’+1的指令 5)在后地址[m’+2,319]中随机选取一条指令并执行; 6)重复上述步骤1)~5),直到执行320次指令 C、将指令序列变换称为页地址流

在用户虚存中,按每k存放10条指令排列虚存地址,即320条指令在虚存中 的存放方式为: 第0条~第9条指令为第0页<对应虚存地址为[0,9]); 第10条~第19条指令为第1页<对应虚存地址为[10,19]); 。。。。。。 第310条~第319条指令为第31页<对应虚存地址为[310,319]); 按以上方式,用户指令可组成32页。 (3)计算并输出下属算法在不同内存容量下的命中率。 1)先进先出的算法

内存基础知识——内存中的Bank

也许有的朋友在购买内存后发现:为什么明明在商家那里可以使用,而在自己的电脑里就不能使用了呢?其实这里面就涉及到内存Bank的问题,今天将为大家深入分析出现这种情况的原因。 内存Bank分为物理Bank和逻辑Bank。 1.物理Bank 传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所需要的数据。而CPU在一个传输周期能接收的数据容量就是CPU数据总线的位宽,单位是bit(位)。内存与CPU之间的数据交换通过主板上的北桥芯片进行,内存总线的数据位宽等同于CPU数据总线的位宽,这个位宽就称之为物理Bank(Physical Bank,简称P-Bank)的位宽。以目前主流的DDR系统为例,CPU与内存之间的接口位宽是64bit,也就意味着CPU 在一个周期内会向内存发送或从内存读取64bit的数据,那么这一个64bit的数据集合就是一个内存条Bank。目前绝大多数的芯片组都只能支持一条内存包含两个物理Bank。不过以前有不少朋友都认为,内存的物理Bank是由面数决定的:即单面内存条则包含一个物理Bank,双面内存则包含两个。其实这个看法是错误的! 一条内存条的物理Bank是由所采用的内存颗粒的位宽决定的,各个芯片位宽之和为64bit就是单物理Bank;如果是128bit就是双物理Bank。读到这里,大家也应该知道,我们可以通过两种方式来增加这种类型内存的容量。第一种就是通过增加每一个独立模块的容量来增加Bank的容量,第二种方法就是增加Bank的数目。由于目前内存颗粒位宽的限制,一个系统只有一个物理Bank已经不能满足容量的需要。所以,目前新一代芯片组可以支持多个物理Bank,最少的也能支持4个物理Bank。对于像Intel i845D这种支持4个Bank的芯片组来说,我们在选购内存时就要考虑一下插槽数与内存Bank 的分配问题了。因为如果选购双Bank的内存,这意味着在Intel i845D芯片组上我们最多只能使用两条这样的内存,多了的话芯片组将无法识别。这里我建议大家最好根据自己的主板所提供的内存插槽数目来选购内存,如果主板只提供了两个内存插槽,那就不必为内存是单Bank还是双Bank而担心了。而如果主板提供了4个内存插槽(同一种规格),那么应该尽量购买单Bank或大容量双Bank的内存,以免给日后升级留下不必要的麻烦。 2.逻辑Bank 逻辑Bank的英文全称为Logical Bank,简称L-Bank。如果将物理Bank说成是内存颗粒阵列的话,那么逻辑Bank可以看做是数据存储阵列。不过与物理Bank不同,SDRAM与DDR内存的逻辑Bank并不完全一样,所以我将分开来简单介绍一下。 简单地说,SDRAM的内部是一个存储阵列(图1),因为如果是管道式存储,就很难做到随机访问了。阵列就如同表格一样,将数据“填”进去。因此逻辑Bank我们可以看成是一张逻辑二维表,在此表中内存的数据是以位(bit)为单位写入一个大的矩阵中,每个单元我们称为CELL,只要指定一个行(Row),再指定一个列(Column),就可以准确地定位到某个CELL,里面每个单元都可以存储数据,而且每个单元的存储空间相同——因为实际上与物理Bank每个单元具体存储数据量相同。这个具体的单元存储数据量即为逻辑Bank的位宽(实际上内存芯片的位宽就是逻辑Bank的位宽),一般有4bit、8bit和16bit等几种。如果你认为不好理解的话,那么你可以用硬盘操作中的簇与扇区的关系来理解内存中的存储形式——扇区是硬盘中的最小存储单元(相当于内存中的存储体),而一个簇则包含多个扇区(相当于逻辑Bank中的存储单元),数据的交换都是以一个簇为单位进行。由于工艺上的原因,这个阵列不可能做得太大,所以一般内存芯片中都是将内存容量分成几个阵列来制造,也就是说内存芯片中存在多个逻辑Bank,随着芯片容量的不断增加,逻辑Bank数量也在不断增加。 主板芯片组本身设计时在一个时钟周期内只允许对一个逻辑Bank进行操作,而不是主

CPU、内存相关知识简介(doc 9页)

CPU、内存有关知识 分类: Pentium(奔腾) Athlon(速龙) Celeron(赛扬) Core (酷睿) Duron(毒龙) Opteron(皓龙) Sempron(闪龙) Turion(炫龙) Cpu种类 北桥芯片(North Bridge)是主板芯片组中起主导作用的最重要的组成部分,也称为主桥(Host Bridge)。一般来说,芯片组的名称就是以北桥芯片的名称来命名的,例如英特尔845E芯片组的北桥芯片是82845E,875P 芯片组的北桥芯片是82875P等等。北桥芯片负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输,提供对CPU的类型和主频、系统的前端总线频率、内存的类型(SDRAM,DDR SDRAM以及RDRAM等等)和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持,整合型芯片组的北桥芯片还集成了显示核心。北桥芯片就是主板上离CPU最近的芯片,这主要是考虑到北桥芯片与处理器之间的通信最密切,为了提高通信性能而缩短传输距离。因为北桥芯片的数据处理量非常大,发热量也越来越大,所以现在的北桥芯片都覆盖着散热片用来加强北桥芯片的散热,有些主板的北桥芯片还会配合风扇进行散热。因为北桥芯片的主要功能是控制内存,而内存标准与处理器一样变化比较频繁,所以不同芯片组中北桥芯片是肯定不同的,当然这并不是说所采用的内存技术就完全不一样,而是不同的芯片组北桥芯片间肯定在一些地方有差别。

简化多了,甚至还能采用单芯片芯片组结构。这也许将是一种大趋势,北桥芯片的功能会逐渐单一化,为了简化主板结构、提高主板的集成度,也许以后主流的芯片组很有可能变成南北桥合一的单芯片形式(事实上SIS 老早就发布了不少单芯片芯片组)。 由于每一款芯片组产品就对应一款相应的北桥芯片,所以北桥芯片的数量非常多。针对不同的平台,目前主流的北桥芯片有以下产品(不包括较老的产品而且只对用户最多的英特尔芯片组作较详细的说明) 南桥芯片(South Bridge)是主板芯片组的重要组成部分,一般位于主板上离CPU插槽较远的下方,PCI插槽的附近,这种布局是考虑到它所连接的I/O总线较多,离处理器远一点有利于布线。相对于北桥芯片来说,其数据处理量并不算大,所以南桥芯片一般都没有覆盖散热片。南桥芯片不与处理器直接相连,而是通过一定的方式(不同厂商各种芯片组有所不同,例如英特尔的英特尔Hub Architecture以及SIS的Multi-Threaded“妙渠”)与北桥芯片相连。 南桥芯片负责I/O总线之间的通信,如PCI总线、USB、LAN、ATA、SATA、音频控制器、键盘控制器、实时时钟控制器、高级电源管理等,这些技术一般相对来说比较稳定,所以不同芯片组中可能南桥芯片是一样的,不同的只是北桥芯片。所以现在主板芯片组中北桥芯片的数量要远远多于南桥芯片。例如早期英特尔不同架构的芯片组Socket 7的430TX和Slot 1的440LX其南桥芯片都采用82317AB,而近两年的芯片组845E/845G/845GE/845PE等配置都采用ICH4南桥芯片,但也能搭配ICH2南桥芯片。更有甚者,有些主板厂家生产的少数产品采用的南北桥是不同芯片组公司的产品,例如以前升技的KG7-RAID主板,北桥采用了AMD 760,南桥则是VIA 686B。 南桥芯片的发展方向主要是集成更多的功能,例如网卡、RAID、IEEE 1394、甚至WI-FI无线网络等等。 前端总线是指将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传输信息。人们常常以MHz表示的速度来描述总线频率。总线的种类很多,前端总线的英文名字是Front Side Bus,通常用FSB表示,是将CPU连接到北桥芯片的总线。计算机的前端总线频率是由CPU和北桥芯片共同决定的。 北桥芯片负责联系内存、显卡等数据吞吐量最大的部件,并和南桥芯片连接。CPU就是通过前端总线(FSB)连接到北桥芯片,进而通过北桥芯片和内存、显卡交换数据。前端总线是CPU和外界交换数据的最主要通道,因此前端总线的数据传输能力对计算机整体性能作用很大,如果没足够快的前端总线,再强的CPU也不能明显提高计算机整体速度 前端总线:英文名称叫Front Side Bus(FSB)。前端总线是CPU跟系统沟通的通道,处理器必须通过它才能获得外部数据,也需要通过它来将运算结果传送出其他对应设备。FSB的速度越快,CPU的数据传输就越迅速。FSB的速度主要是用FSB的频率来衡量,前端总线的频率有两个概念:一就是总线的外频(即物理工作频率),二就是FSB频率(有效工作频率),它直接决定了前端总线的数据传输速度。 数据总线宽度:决定了cpu和内存一次交换数据量64 AMD Athlon X2 3600+ 65nm(盒) 所有参数 一般参数 CPU架构AMD系列CPU类型台式机CPU主频1900MHzCPU系列AMD Athlon针脚数(Pin)940接口类型Socket 940主频范围2.0G-2.5G以下

相关主题
文本预览
相关文档 最新文档