第3章存储器及存储系统_第1页
第3章存储器及存储系统_第2页
第3章存储器及存储系统_第3页
第3章存储器及存储系统_第4页
第3章存储器及存储系统_第5页
已阅读5页,还剩193页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章存储器及存储系统3.1存储器概述3.2主存储器3.3半导体存储器芯片3.4主存储器组织3.5存储保护和校验技术3.1存储器概述1.存储器分类1)按存储介质分类(1)半导体存储器特点:集成高、容量大、体积小、存取速度快、功耗低、价格便宜、维护简单。又分两类:双极性存储器(TTL型和ECL型)和金属氧化物半导体存储器(MOS)(分为静态MOS存储器和动态MOS存储器)(2)

磁表面存储器特点:存储体积大且不易丢失含磁盘存储器、磁带存储器等(3)

激光存储器特点:集上述两种优点只读型光盘(CD-ROM)、只写一次型光盘(WORM)和磁光盘(MOD)2)按存取方式分类

(1)随机存储器(RAM)在存储器中任何存储单元的内容都能随机存取,且存取时间与存储单元的物理位置无关。主要用途:存放各种输入/输出的程序、数据、中间结果以及存放与外界交换的信息和做堆栈用。一般充当高速缓冲存储器和主存储器。

(2)串行访问存储器(SAS)在存储器中按某种顺序来存取,也就是存取时间与存储单元的物理位置有关。又分为顺序存取存储器(SAM)和直接存取存储器(DAM)主要用途:磁带(SAM)和磁盘(DAM)。用于外部存储器。

(3)只读存储器(ROM)只能读,不能写的,其内容已经预先一次写入,是存放固定不变的信息。主要用途:微程序控制器、BIOS等

又分为掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM和E2PROM))非永久记忆的存储器:断电后信息即消失的存储器。(主存中的RAM)永久记忆性存储器:断电后仍能保存信息的存储器。(辅存,ROM)3)按信息的可保存性分类根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。4)按在计算机系统中的作用分类存储器分类综述主存储器辅助存储器存储器RAMROMSRAMDRAM磁盘光盘软盘硬盘→Cache磁带MROMPROMEPROME2PROMCD-ROMWORMEOD2.存储器的分级管理通常采用三级存储器结构(高速缓冲存储器、主存储器和辅助存储器),CPU能直接访问存储器(高速缓冲存储器、主存储器)称为内存储器(内存),不能直接访问称为外存储器(外存)(1)高速缓冲存储器(Cache、快存)是一个高速的小容量的存储器,临时存放指令和数据,主要用双极型半导体存储器组成。(2)主存储器(主存)是计算机主要存储器,用来存放计算机运行期间的大量数据和程序。它是和快存交换数据和指令,快存再与CPU打交道。由MOS存储器组成。(3)外存储器(外存)又称辅助存储器,主要是存储容量大,用来存放系统程序和大型数据文件及数据库。三级结构有关系有下图表示:主机高速缓冲存储器Cache

寄存器组CPU主存外存一、主存储器的技术指标1、存储容量存放一个机器字的存储单元,称为字存储单元,相应的单元地址叫字地址,若计算机中可编址最小单元为字,称该计算机为按字编址的计算机;存放一个字节的单元,称为字节存储单元,相应的单元地址叫字节地址,若计算机中可编址最小单元为字节,称该计算机为按字节编址的计算机。3.2主存储器在一个存储器中可以容纳的主存储器的单元总数称为该存储器的存储容量,通常用字节(B,1B=8b)表示。1K=1024,1M=1024K,1G=1024M和1T=1024G,单位为MB、GB、TB2、存取时间写操作:信息存入存储器的操作。读操作:从存储器取出信息的操作。访问:读/写操作。存储器的访问时间(存取时间,用TA表示,多数在ns级):从存储器接收到读(或写)命令到从存储器读出(写入)信息所需的时间。

3、存取周期存取周期(用TM表示):存储器作连续访问操作过程中完成一次完整存取操作所需的全部时间。也是指连续启动两次独立的存储器操作所需间隔的最小时间。TM>TA

主存储器的主要几项技术指标指标含义表现单位存储容量在一个存储器中可以容纳的存储单元总数存储空间的大小字数,字节数存取时间启动到完成一次存储器操作所经历的时间主存的速度ns存储周期连续启动两次操作所需间隔的最小时间主存的速度ns

存储器带宽单位时间里存储器所存取的信息量。数据传输速率技术指标位/秒,字节/秒

二、主存储器的基本结构它由存储体加上一些外围电路构成。外围电路包括地址译码驱动器、数据寄存器和存储器控制电路等。接收来自CPU的n位地址信号,经过译码、驱动后形成2n个地址选择信号,每次选中一个地址。三、主存储器的基本操作主存储器用来暂时存储CPU正在使用的指令和数据,它们的连接是通过总线实现的。总线有三类:数据总线、地址总线和控制总线存储器地址寄存器(在CPU中,MAR):传送地址的,单向的CPU发出,连接的总线(MAR总线)存储器数据寄存器(在CPU中,MDR):传送数据的,双向的(MDR总线)MAC控制线:含读、写和表示存储器功能完成的线CPUMARMDR主存容量2K字字长n位MEM地址总线K位数据总线n位ReadWriteMAC控制总线读操作过程:

CPU发出指定存储器地址(通过MAR到总线),并发出Read有效,之后等待主存储器的应答信号(MAC控制线,若为1,表示主存储器已将数据送入数据总线),送入MDR,完成一次读操作。

写操作过程:

CPU发出指定存储器地址(通过MAR到总线),并将数据(通过MDR到总线),同时发出Write有效,之后等待主存储器的应答信号(MAC控制线);主存储器从数据总线接收到信息并按地址总线指定的地址存储。然后经过MAC控制线发回存储器操作完成的信号。完成一次写操作。3.3 半导体存储器芯片3.3.1静态MOS存储器(SRAM)3.3.2动态MOS存储器(DRAM)3.3.3半导体只读存储器工艺双极型MOS型速度很快、功耗大、容量小功耗小、容量大静态MOS动态MOS存储信息原理静态存储器SRAM动态存储器DRAM(双极型、静态MOS型):依靠双稳态电路内部交叉反馈的机制存储信息。(动态MOS型):依靠电容存储电荷的原理存储信息。功耗较大,速度快,作Cache。功耗较小,容量大,速度较快,作主存。(静态MOS除外)半导体存储器MOS管的静态特性

MOS管作为开关元件,同样是工作在截止或导通两种状态。由于MOS管是电压控制元件,所以主要由栅源电压uGS决定其工作状态。

图3.8(a)为由NMOS增强型管构成的开关电路。

图3.8NMOS管构成的开关电路及其等效电路

工作特性如下:

※uGS<开启电压UT:MOS管工作在截止区,漏源电流iDS基本为0,输出电压uDS≈UDD,MOS管处于“断开”状态,其等效电路如图3.8(b)所示。

※uGS>开启电压UT:MOS管工作在导通区,漏源电流iDS=UDD/(RD+rDS)。其中,rDS为MOS管导通时的漏源电阻。输出电压UDS=UDD·rDS/(RD+rDS),如果rDS<<RD,则uDS≈0V,MOS管处于"接通"状态VCCT3T4T5T6BT1T2ADDT7T8接Y地址译码线(I/O)(I/O)X地址译码线一、静态MOS存储器(SRAM)

1.静态MOS存储单元下图是一位的六管静态MOS存储单元电路图:①T1、T2是工作管,使得A、B点为互补(一个为

1,另一个一定0)。②T3、T4是负载管,起限流电阻作用③T5、T6、T7、T8为控制管或开门管,由它们实现按地址选择存储单元。1)写操作如果写入“1”,则在I/O线上输入高电位,而在

线上输入低电位,并开通T5、T6、T7、T8四个MOS管,把高、低电位分别加入A点和B点上,从而使T1管截止,T2管导通。当输入信号及地址选择信号消失后,T5、T6、T7、T8管都截止,T1和T2管就保持被强迫写入的状态不变,从而将“1”写入存储元,各种干扰信号不会影响T1和T2管;写“0”同上原理一样。

2)读操作读操作时,若某个存储元被选中,则T5、T6、T7、T8四管均导通,于是A点、B点与位线D、

相连,存储元的信息被送到I/O线和

线上,I/O及

线连接着一个差动读出放大器,从其电流方向,可以判断所存信息是“1”和“0”;也可以只有一个输出端连接到外部,从其有无电流通过,判断出所存信息是“1”还是“0”。2.静态MOS存储器的组成

16….

2164×64=4096存储矩阵驱动器X译码器地址译码器6.........…I/O电路Y译码电路地址反相器6输出驱动器控制电路输出输入A6A7A11…读/写片选164164…A0A1A5…Y译码X译码X1X0Y1Y0DDI/O电路4×4阵列构成的16×1位存储器存储体地址译码器X译码X1X0D3I/O电路4×4位存储器D2D1D0①存储体(存储矩阵)

存储体是存储单元的集合。在容量较大的存储器中往往把各个字的同一位组织在一个集成片中;

图芯片是4096*1位,由这样的8个芯片可组成4096字节的存储器。

4096个存储单元排成64*64的矩阵。由X选择线(行选择线)和Y选择线(列选择线)来选择所需用的单元

两种地址译码方式:

1)单译码方式,适用于小容量存储器;②地址译码器

地址译码器把用二进制表示的地址转换为译码输入线上的高电位,以便驱动相应的读写电路。

地址译码器只有一个,其输出叫字选线,选择某个字的所有位。

地址输入线n=4,经地址译码器译码后,产生16个字选线,分别对应16个地址。译码器A5A4A3A2A1A06301存储单元64个单元单译码

2)双译码方式,适用于容量较大的存储器。

地址译码器分为X和Y两个译码器。每一个译码器有n/2个输入端,可以译出2n/2个状态,两译码器交叉译码的结果,可产生2n/2×2n/2

个输出状态。

如图是采用双译码结构的4096×1的存储单元矩阵;对4096个单元选址,需要12根地址线:A0—A11。行译码A2A1A0710列译码A3A4A501764个单元双译码...X地址译码0,01,063,00,11,163,10,631,6363,63Y地址译码I/O控制双地址译码存储结构X0X1X63...y0y1...y63.........③驱动器

一条X方向的选择线要控制在其上的各个存储单元的字选线,负载较大,要在译码器输出后加驱动器。④I/O控制

它处于数据总线和被选用的单元之间,用以控制被选中的单元读出或写入,并具有放大信息的作用。⑤片选控制

将一定数量的芯片按一定方式连接成一个完整的存储器;芯片外的地址译码器产生片选控制信号,选中要访问的存储字所在的芯片。⑥读/写控制

根据CPU给出的信号是读命令还是写命令,控制被选中存储单元的读写。&&CSR/WI/ODD片选和读写控制电路

3.静态MOS存储器芯片实例下图是Intel2114静态MOS芯片逻辑结构图,该芯片是一个1K×4位的静态RAM,片上共有4096个六管存储元电路,排成64×64的矩阵,有地址总线10根(A0~A9),其中六根(A3~A8)用于行译码,产生64根行选择线,四根用于列译码,产生64/4条选择线,即16条列选择线,每条线同时接矩阵的4位。地址端:2114(1K×4)191018A6A5A4A3A0A1A2CSGNDVccA7A8A9D0D1D2D3WEA9~A0(入)数据端:D3~D0(入/出)控制端:片选CS=0选中芯片=1未选中芯片写使能WE=0写=1读电源、地SRAM芯片2114(1K×4位)外特性:

4、存储器的读/写操作结合上面Inter2114,对读/写操作的时序进行分析。

1)读操作时序CS地址

tCXtOHAtCOtRCtAtOTDDOUT读周期

tRC

地址有效下一次地址有效,最小450ns读时间

tA

地址有效数据稳定tCO

片选有效数据稳定tOTD

片选失效输出高阻tOHA

地址失效后的数据维持时间参数名称tmin/nstmax/ns说明tRC读周期时间450

存取周期TmtA读出时间

450存取时间TatCO片选有效到数据输出延迟

120

tCX片选有效到输出有效20

tOTD断开片选到输出变为三态0100

tOHA地址改变后数据的维持时间50

1)读操作时序CS地址

tCXtOHAtCOtRCtAtOTDDOUT读周期tRC

地址有效→下一次地址有效读时间

tA

地址有效数据稳定tCO

片选有效数据稳定tOTD

片选失效输出高阻tOHA

地址失效后的数据维持时间ACSDOUT地址有效地址失效片选失效数据有效数据稳定高阻

静态RAM读时序tAtCOtOHAtOTDtRC片选有效读周期

tRC

地址有效下一次地址有效读时间

tA

地址有效数据稳定tCO

片选有效数据稳定tOTD

片选失效输出高阻tOHA

地址失效后的数据维持时间tDHtDTWCS地址tAWtWCtWRDINWEtWtDWDOUT2)写操作时序写周期tWC

地址有效下一次地址有效写时间tW

写命令WE的有效时间tAW

地址有效片选有效的滞后时间tWR

片选失效下一次地址有效tDW

数据稳定

WE失效tDHWE失效后的数据维持时间参数名称tmin/nstmax/ns说明tWC写周期时间450

tW写数时间200

tWR写恢复时间0

tDTW写信号有效到输出变为三态0

100tDW数据有效时间200

tDH写信号无效后数据保持时间0

ACSWEDOUTDIN静态RAM(2114)写时序tWCtWtAWtDWtDHtWR写周期

tWC

地址有效下一次地址有效写时间

tW

写命令WE

的有效时间tAW

地址有效片选有效的滞后时间tWR

片选失效下一次地址有效tDW

数据稳定

WE失效tDH

WE失效后的数据维持时间【例1】下图是SRAM的写入时序图。其中R/W是读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。【解】写入存储器的时序信号必须同步。通常,当R/W线加负脉冲时,地址线和数据线的电平必须是稳定的。当R/W线达到低电平时,数据立即被存储。因此,当R/W线处于低电平时,如果数据线改变了数值,那么存储器将存储新的数据⑤。同样,当R/W线处于低电平时地址线如果发生了变化那么同样数据将存储到新的地址②或③。正确的写入时序图见下图。二、动态MOS存储器(DRAM)1.四管动态存储元在六管静态存储元电路中,信息暂存于T1,T2管的栅极,这是因为管子总是存在着一定的电容。负载管T3,T4是为了给这些存储电荷补充电荷用的。由于MOS的栅极电阻很高,故泄漏电流很小,在一定的时间内这些信息电荷可以维持住。为了减少管子以提高集成度,把负载管T3,T4去掉,这样变成了四管的动态存储电路。

写操作:I/O与I/O加相反的电平,当T5,T6截止时,靠T1,T2管栅极电容的存储作用,在一定时间内(如2ms)可保留所写入的信息。

读操作:先给出预充信号,使T9,T10管导通,位线D和D上的电容都达到电源电压。字选择线使T5,T6管导通时,存储的信息通过A,B端向位线输出。刷新操作:为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷。四管的动态存储电路和六管静态存储元电路的区别:写操作:I/O与I/O加相反的电平,当T5、T6截止时,靠T1、T2管栅极电容的存储作用,在一定时间内(如2ms)可保留所写入的信息。读操作:先给出预充信号,使T9、T10管导通,位线D和D上的电容都达到电源电压。字选择线使T5、T6管导通时,存储的信息通过A、B端向位线输出。刷新操作:为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷。

写入:字选择线为“1”,T1管导通,写入信息由位线(数据线)存入电容C中;

读出:字选择线为“1”,存储在电容C上的电荷,通过T1输出到数据线上,通过读出放大器即可得到存储信息。2.单管动态存储元单管动态存储元电路由一个管子T1和一个电容C构成。四管与单管动态存储元的优点和缺点:(1)四管:管子多,占有芯片面积大。单管:单管,元件数量少,集成度高(2)四管:外围电路较简单,读出过程同时刷新,单管:因读“1”和“0”时,数据线上电平差很小,需要有高鉴别能力的读出放大器配合工作,外围电路比较复杂。

DRAM存储器芯片的结构大体与SRAM存储器芯片相似,由存储体与外围电路构成。但它集成度要高,外围电路更复杂。下图是16K×1位的DRAM存储器片2116的逻辑结构示意图。3.动态MOSRAM芯片实例2116的逻辑结构示意图DRAM与SRAM有两点不同:(1)数据输入输出分开(DRAM:Din和Dout)(2)控制信号DRAM只有

WE,而没有CS定义:刷新。动态存储器依靠电容电荷存储信息。平时无电源供电,时间一长电容电荷会泄放,需定期向电容补充电荷,以保持信息不变。定期向电容补充电荷原因:4.DRAM的刷新刷新周期:从上一次刷新结束到下一次对整个DRAM全部刷新一遍为止,这一段时间间隔称为刷新周期。刷新操作:即是按行来执行内部的读操作。由刷新计数器产生行地址,选择当前要刷新的行,读即刷新,刷新一行所需时间即是一个存储周期。刷新行数:单个芯片的单个矩阵的行数。对于内部包含多个存储矩阵的芯片,各个矩阵的同一行是被同时刷新的。对于多个芯片连接构成的DRAM,DRAM控制器将选中所有芯片的同一行来进行逐行刷新。单元刷新间隔时间:DRAM允许的最大信息保持时间;一般为2ms。刷新方式:集中式刷新、分散式刷新和异步式刷新。4.DRAM的刷新在2ms单元刷新间隔时间内,集中对128行刷新一遍,所需时间128×500ns=64μs,其余时间则用于访问操作。在内部刷新时间(64μs)内,不允许访存,这段时间被称为死时间。集中式刷新例:64K×1位DRAM芯片中,存储电路由4个独立的128×128的存储矩阵组成。设存储器存储周期为500ns,单元刷新间隔是2ms。用在实时要求不高的场合。分散式刷新在任何一个存储周期内,分为访存和刷新两个子周期。访存时间内,供CPU和其他主设备访问。在刷新时间内,对DRAM的某一行刷新。存储周期为存储器存储周期的两倍,即500ns×2=1μs。刷新周期缩短,为128×1μs=128μs。在2ms的单元刷新间隔时间内,对DRAM刷新了2ms÷128μs遍。用在低速系统中。异步式刷新异步刷新采取折中的办法,在2ms内分散地把各行刷新一遍。避免了分散式刷新中不必要的多次刷新,提高了整机速度;同时又解决了集中式刷新中“死区”时间过长的问题。刷新信号的周期为2ms/128=15.625μs。让刷新电路每隔15μs产生一个刷新信号,刷新一行。用在大多数计算机中。【例2】说明1M×1位DRAM片子的刷新方法,刷新周期定为8ms【解】如果选择一个行地址进行刷新,刷新地址为A0—A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期的刷新。按照这个周期数,512×2048=1048567,即对1M位的存储元全部进行刷新。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms÷512=15.5μs刷新一次的异步刷新方式。&&≥1&读/写与刷新操作的CAS转换电路读/写控制CAS刷新延时CAS

DRAM控制器地址总线刷新地址计数器地址多路开关行列地址刷新定时器仲裁电路控制信号发生器读/写

RAS

CAS

WRDRAM存储器CPU

DRAM控制器结构框图

DRAM存储器的特点使用半导体器件中分布电容上有无电荷来表示0和1代码。电源不掉电的情况下,信息也会丢失,因此需要不断刷新。存取速度慢,集成度高(容量大),价格低。常用作内存条。SRAM和DRAM的对比比较内容SRAMDRAM存储信息0和1的方式双稳态触发器极间电容上的电荷电源不掉电时信息稳定信息会丢失刷新不需要需要集成度低高容量小大价格高低速度快慢适用场合Cache主存5.DRAM技术介绍(1)FPM(FastPageMode)RAM

每隔3个时钟脉冲周期传送一次(2)EDO(ExtendDataOut)RAM

每隔2个时钟脉冲周期传送一次(3)S(Synchronous)RAM

每隔1个时钟脉冲周期传送一次(与CPU同步) 能传送一整块的数据。(4)SDRAMⅡ(DDR(DoubleDataRate))(5)SLDRAM(SyncLinkDRAM)Bank增加到16体(6)RDRAM(RambusDRAM)(图形工作站和多媒体)(7)ConcurrentRDRAM(8)DirectRDRAM

6.内存的模块封装与性能指标

(1)内存的模块封装

把内存芯片安装在一小条印制电路扳上,称为内存条,有30线(8位)、72线(32位)和168线(64位)之分,线是指内存条与主扳插接时的接点数,也称为“金手指”

(2)内存性能指标①

速度用存取一次数据的时间(单位用ns)来作为内存速度的性能指标。②

容量30线:256KB、1MB、4MB、8MB72线:4MB、8MB、16MB168线:16MB、32MB、64MB、128MB、256MB

③内存的奇偶校验每8位容量配备1位做为奇偶校验位配合主机扳上的奇偶校验电路对存取的数据进行正确校验,这需要在内存条上额外加装一块芯片。

④内存的电压

FPM和EDO是5V,SDRAM是3.3V,要注意主扳上的跳接线。

⑤内存芯片的标注例:-70(70ns)、-60(60ns)

7.

内存的使用①不能不同线的内存条一起用。②提供成组的内存插槽,1组称为1个BANK,必需成组地至少插满1个BANK。③主板上速度应与内存条速度相匹配④在没有30线的主板上使用30线的内存条,需加转换板。⑤

注意内存条指示,不要插反。使用无校验的内存条时,要在CMOS中把奇偶校验开关关闭地址译码器...A0A1A9…………0……...1数据缓冲器……1023读出放大器D0D1D7CS…………Udo

01…7000…1110…1……………102311…0三、半导体只读存储器

1.掩模式只读存储器(MROM)

1024×8位MROM:行与列线连接存储“0”,否则为“1”特点:(1)一次写入后不能修改,灵活差(2)信息固定不变,可靠性高(3)生产周期长,只适合定型批量生产

写入时,EC接+12V,要写1的那一位的D端断开,用大电流烧断熔丝;写0位的D端接地,电流不经过熔丝。如此逐字写入需要的信息。

读出时,EC接+5V,信息从D0~D3输出。2.可编程只读存储器(PROM)采用单译码结构,存储元4×4位矩阵,共有4个字,每字4位。说明:(A)读出时,Ec要接5V电压,写入时Ec要接12V(B)读时操作:熔丝不断时,反相输出为1

熔丝烧断时,反相输出为0(C)写入只能一次,一旦熔丝烧断就不能复原。要写“0”,使D端断开要写“1”,使D端接地,使大电流烧断熔丝。AI++++++N基体P+P+SDSiO2浮空多晶硅栅EPROM字线位线Vcc3.紫外光线可擦除可编程只读存储器(EPROM)其栅级由SiO2与多晶体硅做成,且浮空,管子做好时栅级(G)上无电荷,该管不导通,即漏级(D)和源级(S)间无电流,存入的信息为1,若要写入0,则需要在D和S间加25V电压,外加编程脉冲(宽50MS)可击穿,电子注入硅栅,高压撤除后,因硅栅有绝缘层包围,电子无法泄漏,硅栅变负,从而形成导电沟道,EPROM管导通,存入信息“0”。CE为低电平、OE为高电平和WE加负脉冲D0~D7写入CE为低电平、OE为低电平和WE为高电平从D0~D7读出CE为低电平、OE为10V~15V和WE加低电平整片擦除OE为高电平和WE为高电平D0~D7输出无高阻。

4.电可擦除电可改写只读存储器(EEPROM)存储手段非易失性高密度低功耗单管单元在线重写字节写入抗冲击MROMYYYY

YEPROMYYYY

YE2PROMY

Y

YYYNOVRAMY

Y

YY

FLASHYYYYY

Y(1)NOVRAM(不挥发性随机存储器)电子盘或半导体盘将SRAM、微型电池、电源检测和切换开关封装在一个芯片中。因此其厚度比普通SRAM芯片要大些,而引脚与普通SRAM芯片兼容。由于采用了CMOS工艺,存在NOVRAM芯片中的数据可以保存10年以上。(2)FlashMemory(快擦写存储器(闪存))FlashMemory与E2PROM逻辑结构相似,是在EPROM功能基础上增加了电路的电擦除和重新编程能力。最主要的区别在于存储元的结构和工艺。E2PROM可以进行字节擦除,而FlashMemory不能按字节擦除,只能整片擦除。5.几种新型存储器存储手段非易失性高密度低功耗单管单元在线重写字节写入抗冲击MROMYYYYYEPROMYYYYYE2PROMYYYYYNOVRAMYYYYFLASHYYYYYY第四节主存储器组织

存储器与CPU线相连的有地址线、数据线和控制线。对存储器进行读/写操作:首先由地址总线给出地址信号,然后要发出读操作或写操作的控制信号,最后在数据总线上进行信息交流。根据芯片结构的不同,连接方式可以采用:位并联法(位扩展法):从字长方向扩展地址串联法(字扩展法):从字数方向扩展。一、存储器与CPU的连接芯片数=计算机字长N/芯片存储字长n1、位扩展法(位并联法):当芯片的容量和主存容量相同,而位数不足时,就要对位数进行扩展。方法:将多片存储芯片的地址端、片选端和读/写控制端各自并联在一起,而他们的数据端分别引出,连到存储器不同位的数据总线上。解:①分析:8K=8192=213,要13根地址线,由于要组成8位数据线则要求位扩展,需要8块8K×1的存储芯片,由于每个地址选中8块芯片都选中,因而CS引脚都为低电平(接地)。例1:用8K×1的RAM组成8K×8的存储器②结构图③结果讨论:由上结构图组成存储器中读写控制线没有画出,主要可以分析地址的范围应为0000H~1FFFH。例2:用1K×4位芯片构成1K×8位存储器CPUWECSA9A0·········A9A9A0A0D0D1D2D3D4D5D6D7D1D1D2D0D0D3D3D2······CSWEMREQR/W要点:(1)芯片的地址线A、读写控制信号WE、片选信号CS分别连在一起;(2)芯片的数据线D分别对应于所搭建的存储器的高若干位和低若干位。CPUWECSA9A0·········A9A9A0A0D0D7D0D0D3D3······CSWEMREQR/W~~~芯片数=存储器存储单元数M/芯片存储单元数m2、地址串联法(字扩展法):

当芯片字长与主存相同,而容量不足时,就需要用几片存储器芯片组成合起来的存储空间即地址空间进行扩展,称为字扩展。方法:

将各芯片的地址线,数据线、读/写线分别并联在一起,片选信号单独连接,用来区分各片地址,用高位地址经过译码而产生的输出信号作为各个芯片的片选信号,用低位地址作为各芯片的片内地址。例1:用1K×8位芯片构成4K×8位存储器地址分配关系0102310242047204830713072409500001023102310231023A11A10A9A8A0···00000111010001110100011111000111············片内地址片选A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~A9A0···CSWE···D7D0~2/4译码器A9A0···D7D0~A11A10CPUR/W例2::用16K×8位的芯片组成64K×8位的存储器解:①分析:每块芯片的地址线,16K=214,要14根,总的地址线,64K=216,要16根,数据线都为8根,所以要16K×8的芯片为64/16=4片。…………②结构图③结果讨论:由上图所示可得出以下结论:地址线A0~A13的14根为4块芯片共用,通过A14~A15和2-4译码器可得出四块芯片的地址为:地址A15A14A13A12…A0地址范围片号100000000000000000000H00111111111111113fffH201000000000000004000H01111111111111117FFFH310000000000000008000H1011111111111111BFFFH41100000000000000C000H1111111111111111FFFFH(1)芯片的数据线D、读写控制信号WE分别连在一起;(2)存储器地址线A的低若干位连接各芯片的地址线;(3)存储器地址线A的高若干位作用于各芯片的片选信号CS。要点:3、字位扩展法:

芯片数=(M/m)·(N/n)

M:存储器存储单元数

m:芯片存储单元数

N:计算机字长

n:芯片存储字长例1:用2K×8位的RAM存储芯片构成8K×16位的随机存储器。2K×82K×82K×82K×82K×82K×82K×82K×82/4译码器R/WA10~A0A12A11AAAAAAAAR/WAR/WACSCSD15~D0D15~D8D7~D0D15~D8D15~D8D15~D8D7~D0D7~D0D7~D0CPU例2:某8位机采用单总线结构,地址总线16根(A15~A0,,A0为低位),双向数据总线8根(D7~D0,,控制总线中与主存有关的有MREQ(允许访存,低电平有效),R/W(高电平为读命令,低电平为写命令)

主存地址空间分配如下:0~8191为系统程序区,由只读存储器芯片组成;8192~32767为用户程序区;

最后(最大地址)2K地址空间为系统程序工作区,

上述地址为十进制数,按字节编址,现有如下存储器芯片:ROM:8K×8位(控制端仅有CS)RAM(静态):16K×1位,2K×8位,4K×8位,8K×8位请从上述芯片中选择适当芯片设计该计算机存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及3:8译码器74LS138)与CPU的连接,说明选哪些存储器芯片,选多少?解:主存地址空间分配如下:

根据给定条件,选用:ROM:8K×8位芯片1片RAM:8K×8位芯片3片,2K×8位芯片1片3:8译码器仅用Y0Y1Y2Y3和Y7的输出端,且对最后的2K×8位选片还需加门电路译码2K(RAM)

30K(空)24K(RAM)8K(ROM)081918192327676348765535A15A14A13A12A11A10A9·····A0000××××····×001××××····×010××××····×011××××····×············11111××····×2K(RAM)

30K(空)8K(ROM)8K(RAM)8K(RAM)8K(RAM)ROM8KBD0D7A0A12RAM8KBD0D7A0A12RAM8KBD0D7A0A12RAM8KBD0D7A0A12RAM2KBD0D7A0A1074LS138CSCSCSCSCSD0D7R/WA0A10A11A12A13A14A15ABCCPUMREQY0Y1Y2Y3Y4Y5Y6Y7R/W·································1.Cache的功能与基本原理1)Cache的功能二、高速缓冲存储器Cache是指位于CPU和主存之间的一个高速小容量的存储器,一般由SRAM构成。

Cache功能:用于弥补CPU和主存之间的速度差异,提高CPU访问主存的平均速度。设置Cache的理论基础,是程序访问的局部性原理。Cache的内容是主存部分内容的副本,Cache的功能均由硬件实现,对程序员是透明的。程序访问的局部性原理局部性有两种:(1)时间局部性(temporallocality)如果一项数据被引用,很可能不久它会被再次使用,程序的循环和堆栈等操作中的信息就是典型的例子。(2)空间局部性(spatiallocality)如果一项数据被引用,那么与它相连的数据可能很快也会被引用,以顺序执行为主的程序和数据(如数组)就是典型例子。CPU与Cache之间的数据交换是以字为单位,而Cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。2)Cache的基本原理当CPU读取主存中一个字时,便发出此字的内存地址到Cache和主存。此时Cache控制逻辑依据地址判断此字当前是否在Cache中:若在(称为命中),此字立即传送给CPU;若不在(称为不命中),则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到Cache中。由始终管理Cache使用情况的硬件逻辑电路来实现LRU替换算法。增加Cache的目的,就是在性能上使主存的平均读出时间尽可能接近Cache的读出时间。因此,Cache的命中率应接近于1。由于程序访问的局部性,这是可能的。

在一个程序执行期间,设Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有:3)Cache的命中率LRU管理逻辑相联存储图表快存M1地址总线CAM数据总线主存M2检索寄存器屏蔽寄存器比较寄存器存储体代码寄存器译码选择电路符合寄存器m···21···············相联存储器1001

XX00比较寄存器代码寄存器译码选择电路符合寄存器0110···············0101110010010010相联存储器。。。。。。OD输出数据M符合WE写启动选择S(地址)输入启动IEID输入数据一位相联存储元电路IE=1时,M=QD+QD=QD一致时M=1,否则M=0+相联存储器W0.0W0.1W1.0W1.1从选择线路来的地址送到选择线路的符合信号从屏蔽寄存器来IE0IE1ID0ID1输入数据S0S1WEOD0OD1去输出寄存器M0M1字0字12×2位相联存储器阵列

2.Cache存储器的地址映像 为了把信息放到Cache存储器中,必须应用某种函数把主存地址映象到Cache中定位,称为地址映象,这些函数通常称做映象函数。在信息按这种映象关系装入Cache中,执行程序时,应将主存地址变换成Cache地址,这个变换过程叫做地址变换。地址的映象与变换是密切相关的。 地址映象方式有直接映象、全相联映象和组相联映象。 设主存空间被分为2m个页(页号为0、1、2、…、i、…2m-1),每页的大小为2b个页;Cache存储空间被分为2c个页(页号为0、1、…、j、…、2c-1),每页的大小也为2b个页。Cache地址c+b位主存地址m+b位主存主存-Cache地址变换主存地址页内地址页号Cache数据或指令CPU页内地址页号

Cache替换部件Cache地址CPU替换块装入块不命中命中1)直接映象法

主存的页以2c为模映象到Cache的固定位置上。由映象函数还可以看出,主存页号的低C位(即jmod2c)正好是它要装入的Cache的页号。直接映象函数为i=j

mod2c

,其中i是Cache页号,j是主存页号。t位标志用来区别记入的是主存中的哪一页,在一个新页送入Cache时,把主存地址的高t位存入Cache的标志字段中。页面号0标记页面号1……页面号2c-1标记标记页面号0页面号1……页面号2c-1页面号2c页面号2c+1……页面号2c+1-1页面号2c+1……页面号2m-1主存页面标记Cache页面地址页内地址m位t位c位b位t位Cache主存储器主存地址页面标记按地址访问有效位页面号Cache页面地址页内地址页内地址主存地址Cache地址相等页面标记相等比较不等访问Cache若比较相等,且有效位为“1”,则用Cache地址去访问Cache,读出的数据送往CPUt位c位b位m位直接映象的优点是实现简单,其缺点是不够灵活。出现Cache中还有很多空页,也必须对指定的Cache页进行替换。

主存和Cache的读出

CPU访问时,首先根据访存地址中的C位(页号),直接查出该主存对应的Cache页号。找到对应的Cache页后,检查它的标记和主存的高t位是否一致。若一致,访问“命中”,再根据页内地址(b位),从Cache中读数据。否则“不命中”,CPU直接从主存读出。例:考虑一个具有16KB直接相连Cache的32位微处理

器,假定该Cache的页面为4个32位的字:

(1)画出Cache的地址映像方式,指出主存地址的不同

字段的作用。

(2)主存地址为ABCDE8F8H的单元在Cache中的什么

位置,指出主存页面标记、页面号和页内地址值.页面标记Cache页面号页内字地址字节号页面号页内字地址字节号比较0102318位10位2位2位2位2位10位不相等页面失效主存页面标志2位CacheCache地址主存地址地址映像方式

ABCDE8F8H=10101011110011011110100011111000页面标记=101010111100101111

Cache页号=1010001111

页内字地址=10

字节地址=002)全相联映象法对应关系:主存中任一页面可装入Cache内任一页面的位置。

采用存放于相联存储器中的目录表来实现地址映象;以加快“主存—Cache”地址变换速度。第2m-1页……第1页第0页第0页…第1页第0页Cache主存全相联映象法主存—Cache地址变换过程

让主存页号与目录表中各项的页号作相联比较;如有相同的,则将对应行的Cache页号取出,拼接上页内地址就形成了Cache地址。

相联表中无相同的页号,表示主存页未装入Cache,失靶,去主存读。

优点是页面冲突概率最低;但查表速度难以提高。几乎没有单纯采用全相联映象法。页号页内地址主存地址Cache地址相联比较失靶去主存读命中页号页内地址全相联映象地址变换......

让主存页号与目录表中各项的页号作相联比较;如有相同的,则将对应行的Cache页号取出,拼接上页内地址就形成了Cache地址。

相联表中无相同的页号,表示主存页未装入Cache,失靶,去主存读。3)组相联映象法将Cache空间分成若干组,每组包含若干页,组间采用直接映象,组内各页则是全相联映象。全相联映象法和直接映象法结合起来,就产生了组相联映象法。组相联映像方式的地址变换过程如下图所示。区号E,组内页号B组内页号bCb个块组内页号B组内页号b页内地址W页内地址w主存地址Cache地址区号E相联比较块表组号G组号g相等不等3.替换策略

Cache工作原理要求它尽量保存最新数据,必然要产生替换。对直接映射的Cache来说,只要把此特定位置上的原主存块换出Cache即可。对全相联和组相联Cache来说,就要从允许存放新主存块的若干特定行中选取一行换出。常用替换策略先进先出(FIFO)策略最近最少使用(LRU)策略FIFO

算法选择最早装入Cache的页面作为被替换的页

。占用空间表的每一页都与一个“装入顺序数”相联系,每当一个页送入Cache或从Cache重取走,都将更新“装入顺序数”。通过检查这些数,决定最先进入的页。先进先出(FIFO)这种算法优点是容易实现,缺点是经常使用的页,如一个包含程序循环的页,也可能由于它是最早的页而被替换掉。

LRU算法将近期内长久未被访问过的行换出。每行也设置一个计数器,Cache每命中一次,命中行计数器清零,其它各行计数器增1。当需要替换时,将计数值最大的行换出。最近最少使用(LRU)算法这种算法保护了刚拷贝到Cache中的新数据行,有较高的命中率。*优化替换算法(OPT)选择将来最少使用访问的Cache页为调出页。

是一种理想算法,命中率最高。

程序需运行两次,第一次分析地址流,第二次才真正运行程序。下面通过一个程序和的运行情况,来说明各种算法的工作过程及性能比较。假定该程序有5页信息块,Cache空间为3页,该程序的页地址流为:3种算法工作过程和命中情况,如图所示。时间tit1t2t3t4t5t6t7t8t9t10t11t12使用页PiP2P3P2P1P5P2P4P5P3P2P5P2命中率:25%命中率:41.7%命中率:50%4.Cache—主存内容的一致性问题

CPU执行写操作时,要写的内容恰在Cache中,则Cache内容被更改,但该单元对应的主存内容尚没有改变,这就产生了Cache和主存内容不一致的情况。

解决问题的关键是选择更新主存内容的算法;采用两种算法。处理机进行写操作时,利用“Cache—主存”层次中存在于处理机和主存之间的通路将信息也写回主存。2、写直达法又称存直达法,在页替换时,就不必将被替换的Cache页内容写回,可以直接调入新页。

1、‘写回法’(Writeback)

处理机执行写操作时,信息只写入Cache,当Cache页被替换时,将该页内容写回主存后,再调入新页。

写直达则在每次写入时,都要附加一个比写Cache长得多的写主存时间;写直达法的开销大一些,但其一致性保持要好一些。◆采用两种算法比较

写回法的开销是在页替换时的回写时间;主存地址空间4GB被分成217页,页的大小为8K字(32位)Cache(有数据SRAM和目录SRAM两块组成):数据SRAM:8K字(32位),可分成1024个段,每段8个字,每个字为一行。目录SRAM:存放目录表,对应数据SRAM的每一段的一个条目,由标记位(17位,指主存的页面号,是217页中的一个页号)、标记有效位(1位)和行有效位(8位)组成。地址总线分成三部分:17位标记位(A31—A15),10位段地址字段(A14—A5)3位行选择位(A4—A2),总线的低13位(A14—A2)还作为Cache地址,直接选中数据SRAM中8K字中的一行。组间直接映象:主存中各页中第0段只能对应数据SRAM中第0段…。组内页面全相联:每段8行中可采用全相联,用8位行有效位和一位标记有效位标注。3.4.3多体交叉存储器出发点:能够实现同时从存储器取出n条指令特点:通过改进主存的组织方式,在不改变存储器存取周期的情况下,提高存储器的带宽。结构特点:多体交叉存储器由M个的存储体(或称存储模块)组成,每个存储体有相同的容量和存取速度,又有各自独立的地址寄存器、地址译码器、读写电路和驱动电路。每个模块各自以等同的方式与CPU传送信息。CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。这是一种并行存储器结构。多体交叉存储器的基本结构编址方法:交叉编址,即任何两个相邻地址的物理单元不属于同一个存储体,一般在相邻的存储体中;同一个存储体内的地址都是不连续的。主要有两种:顺序方式交叉方式地址交叉法某个模块进行存取时,其他模块不工作;某一模块出现故障时,其他模块可以照常工作;通过增添模块来扩充存储器容量比较方便。但各模块串行工作,存储器的带宽受到了限制。顺序方式:地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。交叉方式:对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。访问:CPU同时送出的M个地址,只要他们分属于M个存储体,访问就不会冲突;由存储器控制部件控制它们分时使用数据总线进行信息传递。适合采用流水线方式并行存取,虽然每个存储体的存储周期没变,但是当CPU连续访问一个字块时,可以大大提高存储器的带宽。多体交叉存储器512K×8位偶地址存储体512K×8位奇地址存储体FFFFFH00005H00003H00001H`FFFFEH00004H00002H00000H`15870

8086存储器交叉编址结构示意图

例:例1:有一个具有8个存储体的低位多体交叉存储器中,

如果处理器的访存地址为以下八进制值,问该存储

器比单体存储器的平均访问速度提高多少?

(忽略初启时的延迟)(1)10018、10028、10038、······11008(2)10028、10048、10068、······12008(3)10038、10068、10118、······130088,4,8例2:设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?【解】

顺序存储器和交叉存储器连续读出m=4个字的信息总量都是:q=64位×4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是:

t2=mT=4×200ns=800ns=8×10-7s;

t1=T+(m-1)τ=200ns+3×50ns=350ns=3.5×10-7s顺序存储器和交叉存储器的带宽分别是:

W2=q/t2=256÷(8×10-7)=32×107[位/s];W1=q/t1=256÷(3.5×10-7)=73×107[位/s]3.4.4

虚拟存储器1

虚拟存储器的基本概念2

页式虚拟存储器3

段式虚拟存储器4

段页式虚拟存储器5

替换算法6

虚拟存储器实例一、虚拟存储器的基本概念1、什么叫虚拟存储器(VirtualMemory)虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。虚拟存储器是建立在主存-辅存物理结构基础之上,由附加硬件装置以及操作系统存储管理软件组成的一种存储体系,它把主存和辅存的地址空间统一编址,形成一个庞大的存储空间。实地址:实际的主存储器单元的地址,即主存地址,或叫物理地址。虚拟存储器的辅存部分也能让用户象内存一样使用,用户编程时指令地址允许涉及到辅存的空间范围,这种指令地址称为“虚地址”(即虚拟地址),或叫“逻辑地址”。虚拟存储器的用户程序以虚地址编址并存放在辅存里,程序运行时CPU以虚地址访问主存,由辅助硬件找出虚地址和物理地址的对应关系。

2、虚地址和实地址①把程序中最近常用的部分驻留在高速的存储器中。②一旦这部分变得不常用了,把它们送回到低速的存储器中。③这种换入换出是由硬件或操作系统完成的,对用户是透明的。④力图使存储系统的性能接近高速存储器,价格接近低速存储器。它们遵循的原则是:主存-外存层次和Cache-主存层次用的地址变换映射方法和替换策略是相同的,都基于程序局部性原理。3、虚拟存储器和主存-Cache存储器的比较:相同处:①化为许多信息块②从慢存储器传递快存储器调度③有替换策略④映射关系和变换地址3、虚拟存储器和主存-Cache存储器的比较:不同处:①作用不同:速度(主-C)和容量(虚拟)。②信息块长度不同③主-C速度比为5~10;1,而主-辅速度为1;100~1000)④CPU读取的时间相差较大⑤存取信息、地址变换和替换策略(主-C用硬件,虚拟用操作系统的软件加适当的硬件)段是按照程序的逻辑结构划分成的多个相对独立部分,作为独立的逻辑单位。

二、虚拟存储器的基本管理方法

虚拟存储器的管理方式有段式、页式或段页式三种。页是主存物理空间中划分出来的等长的固定区域。段页式管理采用分段和分页结合的方法。1、页式虚拟存储器

虚存地址分为两个字段:高位字段为逻辑页号,低位字段为页内地址。

在页式虚拟存储器系统中,把虚拟空间分成页,称为逻辑页;主存空间也分成同样大小的页,称为物理页。

实存地址也分两个字段:高位字段为物理页号,低位字段为页内地址。两者的页面大小一样,页内地址是相等的。逻辑页号页内地址物理页号页内地址页式管理的地址变换

一个虚存逻辑页号有一个表项,表项内容包含该逻辑页所在的主存页面地址(物理页号)、装入位、替换控制位及其它保护位等;虚存地址到主存实地址的变换是由放在主存中的页表来实现。

用主存页面地址作为实(主)存地址的高字段,与虚存地址的页内地址字段相拼接,就产生了完整的实存地址,用来访问主存。

装入位为“1”,表示该逻辑页已从外存调入内存;反之,则表示对应的逻辑页未调入内存。从辅存中读出新的页到主存中来。页表基址寄存器页表基地址逻辑页号页内地址虚存地址装入位主存页号┆┆物理页号页内地址实存地址页表(在主存中)页式虚拟存储器地址变换页表基址寄存器页表基地址逻辑页号页内地址000000101010110虚存地址装入位主存页号1101010*****1110101001010*****┆┆110101010110实存地址物理页号页内地址页表(在主存中)页式虚拟存储器地址变换快表由硬件组成,比页表小得多,只是慢表的小副本。查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器。并使慢表的查找作废;为了避免页表已保存或已调入主存储器时对主存访问次数的增多,把页表的最活跃部分存放在高速存储器中组成快表。经快表和慢表转换的页式虚拟存储管理

如果在快表中查不到,要花费一个访主存时间查慢表,从中查到物理页号送入实存地址寄存器,并将此逻辑页号和对应的物理页号送入快表,替换快表中应该移掉的内容。逻辑页号页内地址虚存地址(按地址访问)物理页号页内地址快表(相联存储器)实存地址相联比较(按内容访问)逻辑页号物理页号┄┄┄┄物理页号控制位┄┄┄┄(快表中查不到)慢表(在主存中)经快表和慢表进行地址变换

段是利用系统的模块化性质,按照程序的逻辑结构划分成多个相对独立部分(过程、子程序、数据表、阵列);把主存按段分配的存储管理方式称为段式管理。

可以把段作为基本信息单位在主存—

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论