《计算机组成与结构主存储器.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构主存储器.ppt(74页珍藏版)》请在三一办公上搜索。
1、第4章 主存储器,第四章,主 存 储 器,本章将着重介绍主存贮器的各种存贮元件存贮信息的基本原理和主存贮器的结构特点。,知识点:,难重点:1了解计算机系统中使用的主要几种存储器的性能参数,工作原理和优缺点。2学会存储器的位扩展、字扩展和位/字扩展方法。能够按照题目要求设计各种容量和字长的存储器。3如何使用并行存储器来提高存储器的访问速度?,存储器的主要性能参数 人们最关心的存储器的性能参数主要有3个:容量、速度和价格。计算机的使用者希望存储器的容量要大,速度要快,价格要便宜。,1存储容量 由于一般存储器都采用一维线性编址,存储器中的每个能够存放数据的单元都被赋予一个地址,因此,简单地说,存储容
2、量是指存储器中所具有的存储单元的个数,或所具有的地址个数。表示存储器容量的单位主要有字节(Byte),简写为B;位(bit),简写为b;字(Word),简写为W。其中,最常用的单位是字节B,一个字节由8位组成,即1B8b。对于32位计算机系统,一个字有32位,即1W32b4B。因为存储器的容量一般都很大,因此,要用KB、MB、GB、TB等单位来表示。,2工作速度衡量存储器工作速度的常用参数有如下4个:(1)读出时间Tr:从向存储器发出读操作命令到数据从存储器中读出所经历的时间。(2)访问时间Ta:从启动一次访问存储器操作到完成该操作所经历的时间,这里所说的访问存储器操作包括读操作、写操作、交换
3、操作等。,2工作速度(3)访问周期Tc:连续启动两次独立的访问存储器操作所需要的最小时间间隔。访问周期又称为存取周期、读写周期等。(4)频带宽度Bm:单位时间内能够访问到的数据个数。在以上4个参数中,访问时间是最重要的参数,它能够全面反映存储器的工作速度。在对存储器系统进行流量分析时,也经常用到频带宽度这个参数。频带宽度与访问时间实际上是倒数关系。,由以下几个原因可能造成访问周期与读出时间、访问时间不相同:(1)有许多存储器是破坏性读出存储器,当数据从存储器中读出之后,存储器中原来存放的数据就消失了。为了能够在以后再次访问这个存储单元时还能够读出相同的数据,必须把刚刚读出的数据重新写入这个存储
4、单元,这一过程称为重写。,(2)动态存储器是依靠寄生电容存储数据的,在寄生电容上存储有电荷为保留,没有存储电荷为保存。由于存在有漏电阻,存储在寄生电容上的电荷很快就会消失,只有定时对寄生电容充电,动态存储器才能长时间保存数据,这种定时充电的过程称为刷新,刷新需要占用时间。(3)对于破坏性读出的存储器,写操作要在读操作完成之后进行,因此,写入时间通常要比读出时间长很多。(4)电路的稳定和恢复需要时间。,3价格存储器的价格通常用每位的价格来表示,例如每位多少美分($c/bit)。目前,静态存储器的价格大致为10-4$c/bit,动态存储器的价格大致为10-7$c/bit,磁表面存储器的价格大致为1
5、0-10$c/bit。衡量存储器的性能还可以有其他一些参数,例如,功耗、可靠性等。目前,功耗已经成为提高存储器性能的一个重大障碍。大家知道,芯片集成度提高得很快,于是,芯片的散热就成了大问题。因此,降低存储器芯片的功耗是当前一个重大得研究课题。可靠性也是存储器的一个性能参数。与评价整个计算机系统性能一样,可以用平均无故障时间MTBF(Mean Time Betwean Failures)来衡量。,4.1 主存储器处于全机中心地位一、当前计算机正在执行的程序和数据均存放在存储器中。二、DMA(直接存储器存取)技术和输入/输出通道技术,在存储器与输入/输出系统之间直接传送数据。三、共享存储器的多处
6、理机,利用存储器存放共享数据,并实现处理机之间的通信。,4.2 主存储器的分类一、随机存储器 RAM能够按照给定的地址访问任意一个存储元,而且访问每个存储单元的时间都相同,与这个存储单元所处的位置无关。(一)静态随机存储器(SRAM):双稳定电路来存放信息,具有挥发性,读出是非破坏性的。(二)动态随机存储器(DRAM):给电容存储信息,刷新(再生)集成度高,读出是破坏性的。,二、只读存储器 ROM中存储的内容是固定的,通常不能改变。因此,ROM只能随机地读出信息而不能写入信息。ROM的另外一个重要特点是:断电之后,所存储数据仍然能够保存,不会丢失。(一)掩膜只读存储器(ROM):用户不能写入,
7、厂家写入,成本低,工作稳定,不灵活。(二)可编程只读存储器(PROM):只允许用户写一次。(三)紫外线擦除只读存储器(EPROM):反复写入、灵活、脱机擦除。(四)电擦除只读存储器(E2PROM):擦除不脱机。,4.3 主存储器的基本操作,WRITE,READ,主存储器是计算机中存储正处在运行中的程序和数据(或一部分)的部件,通过地址、数据、控制三类总线与其它部件连通;,CPU,MainMemory,AB K 位(给出地址),DB n 位(传送数据),READY,地址总线 AB 的位数决定了可寻址的最大内存空间,,数据总线 DB 的位数与工作频率的乘积正比于最高数据入出量,,控制总线 CB 指
8、出总线周期的类型和本次入出操作完成的时刻。,4.3 主存储器的基本操作一、存储器和CPU的信息通路,二、存储器的写操作,DATADR DB MWR 地址信号AR AB例如:DB=20H AB=3000HWR=0把20H写入3000H单元,二、存储器的写操作,三、存储器的读操作,三、存储器的读操作,4.4 读/写存储器(随机存储器RAM)一、静态RAM(一)静态RAM记忆单元电路 基本存储元是组成存储器的基础和核心,它用来存储一位二进制信息0或1。,1.单元电路:T1 T2 双稳定触发器T3 T4 负载、相当于电阻T5 T6 控制门,演示1,2.工作过程:1)存数:写“1”:在D线上输入高电位,
9、在D线上输入低电位,开启T5,T6两个晶体管把高、低电位分别加在A,B点,使T1管截止,使T2管导通,将“1”写入存储元。写“0”:在D线上输入低电位,在D线上输入高电位,打开T5,T6两个晶体管把低、高电位分别加在A,B点,使T1管导通,T2管截止,将“0”信息写入了存储元。2)取数:若某个存储元被选中,则该存储元的T5,T6管均导通,A,B两点与位线D与D相连存储元的信息被发送。,演示2,3.等效逻辑框图:,D,D,W,(二)静态RAM的组成1.字片式RAM(MN)M:单元个数;N:每个单元能存放二进制数的位数。,4 4当A1A0=00BW0=1 W1=W2=W3=0读出:W0=1 D3D
10、2D1D0信息当A1A0=11BW3=1 0101B D3D2D1D0写入:D3D2D1D0=0101B 3号单元,2.位片式RAM(161),取数:0号单元:A3A2A1A0=0000BX0=1 Y0=11号单元:A3A2A1A0=0001BX0=1 Y1=14号单元:A3A2A1A0=0100BX1=1 Y0=1,Y3,Y2,Y1,Y0,D,二、动态RAM-DRAM(一)动态RAM的单元电路1.电路:,二、动态RAM-DRAM(一)动态RAM的单元电路1.电路:,2.工作过程:1)写入“1”G1 开通 若D=0且Cs无电荷T Cs充电2)取数:G1 开通 Cs放电,演示3,(二)DRAM的
11、特点1)集成度高;2)功耗小、温升小、性能稳定、抗干扰性好;3)读出是破坏性的;4)所有的DRAM都得刷新(无论是否读出,都需刷新)2ms重新写一次。,(三)DRAM刷新(再生)动态MOS存储器采用“读出”方式进行刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。常用的刷新方式有三种,一种是集中式,另一种是分散式,第三种是异步式。集中式刷新:在整个刷新间隔内,前一段时间重复进行读/写周期或维持周期,等到需要进行刷新操作时,便暂停读/写或维持周期,而逐行刷新整个存储器,它适用于高速存储器。,分散式刷新:把一个存储系统周期tc分为两半,周期前半段时间
12、tm用来读/写操作或维持信息,周期后半段时间tr作为刷新操作时间。这样,每经过128个系统周期时间,整个存储器便全部刷新一遍。,异步式刷新方式是前两种方式的结合。,(四)DRAM的发展1、SDRAM(Synchronous DRAM,同步动态随机存取存储器)从技术角度上讲,SDRAM是在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的DRAM,且也需时钟进行刷新。可以说,SDRAM是一种改善了结构的增强型DRAM。,(四)DRAM的发展2、DDR
13、SDRAM(Double Data Rate二倍速率同步动态随机存取存储器)作为SDRAM的换代产品,它具有两大特点:其一,速度比SDRAM有一倍的提高;其二,采用了DLL(Delay Locked Loop:延时锁定回路)提供一个数据滤波信号。SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。,(四)DRAM的发展,(四)DRAM的发展3、DDR 2(Double Data Rat
14、e Synchronous DRAM,第二代同步双倍速率动态随机存取存储器)它与上一代DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR内存预读取能力(即:4bit数据读预取)。换句话说,DDR2内存每个时钟能够以4倍外部的速度读/写数据,并且能够以内部控制总线4倍的速度运行。,(四)DRAM的发展4、DDR 31)8bit预取设计,而DDR2为4bit预取,这样DRAM内核的频率只有接口频率的1/8,DDR3-800的核心工作频率只有100MHz。2)采用点对点的拓朴架构,以减轻地址/命令与控制总线的负担。3
15、)采用100nm以下的生产工艺,将工作电压从1.8V降至1.5V,增加异步重置(Reset)与ZQ校准功能。重置是DDR3新增的一项重要功能,并为此专门准备了一个引脚。这一引脚将使DDR3的初始化处理变得简单。当Reset命令有效时,DDR3内存将停止所有操作,并切换至最少量活动状态,以节约电力。ZQ也是一个新增的引脚,在这个引脚上接有一个240欧姆的低公差参考电阻。这个引脚通过一个命令集,通过片上校准引擎来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。当系统发出这一指令后,将用相应的时钟周期对导通电阻和ODT电阻进行重新校准。,4.5 非易失性半导体存储器一、掩膜只读存储器ROM 简称
16、为MROM(mask programmable ROM)用户不能写入、厂家写入、工作最稳定、经济、不灵活。,演示4,4.5 非易失性半导体存储器二、可编程只读存储器PROMW0号单元存1010B只允许编程一次,三、紫外线擦除只读存储器EPROM(Erasable PROM)EPROM不仅可以由用户写入程序或数据,而且允许擦除已经写入的内容。灵活性好,停电信息不丢失,脱机擦除。如下图所示,在源极S与漏极N之间有一个浮栅,当浮栅上充满负电荷时,源极S与漏极N之间导通,存储数据“0”,否则不导通,存储数据“1”。EPROM的写入方法是:在专用的EPROM编程器上,在需要写0的位置,在源极与漏极之间加
17、上高电压,把电荷加到浮栅上,于是,S极与N极之间就能够导通。,四、电擦除只读存储器E2PROM(Electricity Erasable PROM)E2PROM的价格通常要比EPROM贵,使用起来实际上比EPROM方便,它可以按单个字节擦除。如果把编程和擦除电路都做在机器内,就不需要象EPROM那样反复插拔芯片了。EEPROM能够通过电信号直接实现读或写,而且断电之后能够保存数据,那么它能否代替RAM呢?答案是否定的。主要原因有两个:一是E2PROM的写入速度特别慢,通常要比SRAM或DRAM慢1000倍左右;第二个原因是E2PROM的擦除次数是有限的,一般在几万次。灵活、信息不丢,不脱机擦除
18、,造价高。,五、快擦除读写存储器Flash Memory 是在EPROM与 E2PROM基础上发展起来的,它与EPROM一样,用单管来存储一位信息,它与E2PROM相同之处是用电来擦除。与E2PROM相比,Flash Memory具有存储容量大,价格便宜,功耗低等优点,但是,它只能以块为单位擦除。目前,Flash Memory被大量用做存储卡和硅盘等,在不久的将来,很有可能代替磁盘存储器。,六、几种存储器的主要应用,4.6 半导体存储器的组织与控制 半导体存储器的读写时间一般在十几至几百毫微秒之间,其芯片集成度高,体积小,片内还包含有译码器和寄存器等电路。,演示5,4.6 半导体存储器的组织与
19、控制,一、存储器容量扩展 一个存储器的芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有很大差距。所以需要在字向和位向进行扩充才能满足需要。为了减少存储器芯片的引腿数,一般大容量存储器芯片的数据宽度只有1位或很少几位,而主存储器的数据宽度通常为32位、64位等,因此需要进行位扩展(扩展存储器的字长)。另外,当需要加大存储器容量时,需要进行字扩展(扩展存储器的字数)。当然,也可能字、位两个方向都需要进行扩展。,(一)典型SRAM芯片1.SRAM2114芯片1)逻辑引脚图:,2.SRAM6264芯片1)逻辑引脚图:,(二)存储器的位扩展 位扩展指的是用多个存储器器件对字长进行扩充。位扩展
20、的连接方式是将多片存储器的地址、片选、读写控制端相应并联,数据端分别引出。例如:使用2114芯片和8位CPU组成的存储系统。,演示6,(三)字扩展:是指增加存储器中字的数量,静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,由片选信号来区分各芯片的地址范围。例如:使用6264芯片和8位CPU组成一个24k8系统。1.列地址表2.分析地址表 每片地址从A12A0完全对应的,各片A12A0和CPU的A12A0一一对应连接。A15、A14、A13接到地址译码器上。3.连接,演示7,地址表:,A15A14A13A12A0CPUD7D0RDWR,例如:使用2114芯片和4位CPU组成
21、一个3k4系统。1.列地址表2.分析地址表 每片地址从A9A0完全对应的,各片A9A0和CPU的A9A0一一对应连接。A15A10接到地址译码器上。3.连接,地址表:,(四)存储器位/字扩展 在有些情况下,存储器的字、位两个方向上都需要进行扩展,这时,必须把上述存储器位扩展和存储器字扩展两种方法同时使用。假设,用4M字4位的存储芯片组成16M32位的主存储器,则总共需要使用的芯片数目为:P=(W/w)(B/b)=(16M/4M)(32/4)=32 所有32个芯片构成一个二维存储器陈列。字方向有4组,存储容量扩大4倍。存储器的低22位地址分别与所有32个芯片的22位地址连接,用最高的两位地址A2
22、3A22经译码后产生的4个输出信号控制4组芯片的片选信号。所有32个芯片的读写控制线全部连接在一起作为存储器的读写控制线。由于每个芯片只有4位数据,因此,每组中必须用8个芯片来进行位扩展,总共得到4 832位数据。每组中的32条数据线分别对应直接相连,构成主存储器的32位数据。,演示8,二、存储器的控制 在存储器中,往往需要增加电路。这些附加电路包括地址多路转换线路、地址选通、刷新逻辑,以及读写控制逻辑等。(一)DRAM地址控制,一个地址,两次送入 送XRAS 送YCAS容量=22n,演示9,(二)DRAM刷新控制集中刷新控制分散刷新控制(三)存储校验线路 计算机在运行过程中,主存储器要和CP
23、U、各种外围设备频繁地高速交换数据。由于结构、工艺和和元件质量等种种原因,数据在在存储过程中有可能出错。所以一般在主存储器中设置差错校验线路。实现差错监测和差错校正的代价是冗余。,4.7 多体交叉存储器 一、主存系统的类型 根据主存中存储体的个数,以及CPU访问主存一次所能读出的信息的位数,可以将主存系统分为以下四种类型:(1)单体单字存储器,即存储器只有一个存储体,而且存储体的宽度为一个字,一次可以访问一个存储器字。此存储器字长W与CPU所要访问的字(数据字或指令字,简称CPU字)的字长W相同。,(2)单体多字存储器,即存储器只有一个存储体,但存储体的总线宽度较大,可以是多个字。若要想提高主
24、存频宽,使之与CPU速度匹配,显然可以想到,在同样的器件条件下,只有设法提高存储器的字长W才行。例如,改用下图的方式组成,这样,主存在一个存储周期内就可以读出4个CPU字,相当于CPU从主存中获得信息的最大速率提高到原来的4倍,我们称这种主存为单体多字存储器。,单体多字(m=4)存储器,(3)多体单字交叉存取的存储器。如:多体交叉存储器,因为每个存储体都是一个CPU字的宽度。(4)多体多字交叉存储器。它将多分体并行存取与单体多字相结合。我们将能并行读出多个CPU字的单体多字、多体单字交叉、多体多字交叉存取的主存系统称为并行主存系统。,二、单体多字方式与多体单字交叉方式的区别(1)单体多字方式要
25、求可并行读出的m个字必须是地址顺序排列且处于同一存储体中。(2)而主存采用多体单字方式组成,即采用m个存储体交叉编址,多个存储体并行进行存取操作,每个存储体的宽度一般是一个字的宽度。其所花费的器件和总价格并不比采用单体多字方式的多多少,但其实际带宽却可以比较高。这是因为多体单字方式只要m个地址不发生分体冲突(即没有发生两个以上地址同属一个分体),即使地址之间不是顺序的,仍可并行读出,使实际带宽提高成单体单字的m倍。基本的多体交叉方法有两种,即高位交叉访问存储器和低位交叉访问存储器。,4.7 多体交叉存储器三、并行访问存储器概述 1.逻辑实现:把地址码分成两个部分,一部分作为存储器的地址,另一部
26、分负责选择数据。2.主要缺点:访问冲突大(1)取指令冲突(2)读操作数冲突(3)写数据冲突(4)读写冲突 在这4种冲突中,第1种冲突的概率比较小,因为,程序在大多数情况下是顺序执行的。第2种冲突的概率比较大,因为操作数的随机性比程序要大。第3和第4种冲突,解决起来有一定困难,需要专门的控制电路。,4.7 多体交叉存储器,4.7 多体交叉存储器3.地址访问方式高位交叉访问存储器主要目的:扩大存储器容量实现方法:用地址码的高位区分存储体号,4.7 多体交叉存储器,4.7 多体交叉存储器低位交叉访问存储器主要目的:提高存储器访问速度实现方法:用地址码的低位区分存储体号,4.7 多体交叉存储器,演示1
27、0,4.7 多体交叉存储器四、存储器的模块化组织 一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块有两种安排方式:一种是顺序方式,一种是交叉方式。顺序方式:某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。但各模块串行工作,存储器的带宽受到了限制。交叉方式:地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。,4.9 多体交叉存储器,4.9 多体交叉存储器,五、拓宽
28、存储器带宽的方法 并行主存系统可达到的最大频宽Bm=Wm/TM,由这个式子可以看出:提高模m的值,是能提高主存系统的频宽的,但主存频宽并不是随m值增大而线性提高,也就是说其实际效率并不像所希望的那么高。例如,CDC-6600、7600采用模32交叉实际频宽只是理想频宽的三分之一都不到,这是因为:,(1)工程实现上由于模m越高,存储器数据总线越长,总线上并联的负载越重,有时还不得不增加门的级数,这些都会使传输延迟增加;(2)是系统效率问题。对模m交叉,如果都是顺序的取指令,效率是可以提高到m倍的,但实际上程序中指令不总是顺序执行的,一旦出现转移,效率就会下降,转移的频度越高,这种并行主存系统的效
29、率下降就越大,而数据的顺序性比指令差,实际的频宽可能还要低一些。,图3.10 m个分体并行存取B=f()曲线,从图中不难看出,如果转移概率0.3时,m=4、8、16的B的差别不大,即在这种情况下,模m的取值再大,对系统效率也并没有带来多大的好处;而在0.1时,m值的大小对B的改进则会有显著的影响。为了降低转移概率,就要求在程序中尽量少使用转移指令。,如果从最不利的情况考虑,假设让所有的申请(包括指令和数据)都是完全随机性的,Hellerman用单服务、先来先服务排队论模型进行模拟,估算出B=m0.56 m,即得出随m的提高,主存频宽只是以近似平方根的关系得到改善。因为程序的转移概率不会很低,数据分布的离散性较大,所以单纯靠增大m来提高并行主存系统的带宽是有限的,而且性能价格比还会随m的增大而下降。,某半导体存储器容量为14KB,其中0000H1FFFH为ROM区,2000H 37FFH为RAM区,地址总线A15 A0,双向数据线D7 D0,读/写控制线R/W。可选用的存储芯片有EPROM4KB/片,RAM2K4/片。(1)画出该存储芯片级逻辑图,包括地址线、数据线、片选信号线(低电平有效)及读/写信号线的连接;(2)说明加到各芯片的地址范围;,