1/31计算机组成原理1回顾由于单片存储芯片提供的存储容量与字长一般不能直接满足实际需求,所以经常是将若干存储芯片连接在一起组成特定机器的存储系统,这就叫存储器扩展。按照扩展的目的不同,存储器扩展分为位扩展、字扩展和字位同时扩展。存储器寻址范围与存储器每个单元存储的容量和寻址数据单位长度有关。2/31计算机组成原理2教学内容只读存储器和闪速存储器并行存储器3/31计算机组成原理3了解ROM存储器的分类和阵列结构;熟悉闪速存储器。熟悉双端口存储器的逻辑结构;掌握多模块交叉存储器组织方式。教学要求4/31计算机组成原理4只读存储器和闪速存储器只读存储器ROM叫做只读存储器。顾名思义,只读的意思是在它工作时只能读出,不能写入。然而其中存储的原始数据,必须在它工作以前写入。只读存储器由于工作可靠,保密性强,在计算机系统中得到广泛的应用。5/31计算机组成原理5只读存储器和闪速存储器只读存储器ROM主要有两类:掩模ROM:掩模ROM实际上是一个存储内容固定的ROM,由生产厂家提供产品。可编程ROM:用户后写入内容,有些可以多次写入。一次性编程的PROM多次编程的EPROM和E2PROM。6/31计算机组成原理6只读存储器和闪速存储器ROM的阵列结构和存储元7/31计算机组成原理7只读存储器和闪速存储器ROM的逻辑符号和内部逻辑框图8/31计算机组成原理8只读存储器和闪速存储器闪速存储器FLASH存储器也被称为闪速存储器(闪存),它是高密度非失易失性的读/写存储器。高密度意味着它具有巨大比特数目的存储容量。非易失性意味着存放的数据在没有电源的情况下可以长期保存。总之,它既有RAM的优点,又有ROM的优点,是存储技术划时代的进展。9/31计算机组成原理9只读存储器和闪速存储器“0”状态:当控制栅加上足够的正电压时,浮空栅将储存许多电子带负电,这意味着浮空栅上有很多负电荷,这种情况我们定义存储元处于0状态。“1”状态:如果控制栅不加正电压,浮空栅则只有少许电子或不带电荷,这种情况我们定义为存储元处于1状态。浮空栅上的电荷量决定了读取操作时,加在栅极上的控制电压能否开启MOS管,并产生从漏极D到源极S的电流。10/31计算机组成原理10只读存储器和闪速存储器FLASH存储器的阵列结构FLASH存储器的简化阵列结构如右图所示。在某一时间只有一条行选择线被激活。读操作时,假定某个存储元原存1,那么晶体管导通,与它所在位线接通,有电流通过位线,所经过的负载上产生一个电压降。这个电压降送到比较器的一个输入端,与另一端输入的参照电压做比较,比较器输出一个标志为逻辑1的电平。如果某个存储元原先存0,那么晶体管不导通,位线上没有电流,比较器输出端则产生一个标志为逻辑0的电平。11/31计算机组成原理11并行存储器由于CPU和主存储器之间在速度上是不匹配的,这种情况便成为限制高速计算机设计的主要问题。为了提高CPU和主存之间的数据传输率,除了主存采用更高速的技术来缩短读出时间外,还可以采用并行技术的存储器。12/31计算机组成原理12并行存储器解决途径多个存储器并行工作并行访问和交叉访问设置各种缓冲器通用寄存器采用分层的存储系统Cache虚拟存储系统13/31计算机组成原理13并行存储器一、双端口存储器1、双端口存储器的逻辑结构双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。由于进行并行的独立操作,因而是一种高速工作的存储器。在科研和工程中非常有用。举例说明,双端口存储器IDT7133的逻辑框图。如下页图。14/31计算机组成原理14并行存储器双端口存储器IDT7133的逻辑框图。15/31计算机组成原理15并行存储器2、无冲突读写控制当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出驱动控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。16/31计算机组成原理16并行存储器3、有冲突读写控制当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口。17/31计算机组成原理173.5并行存储器4、有冲突读写控制判断方法(1)如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择端口(CE判断)。(2)如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口(地址有效判断)。无论采用哪种判断方式,延迟端口的BUSY标志都将置位而关闭此端口,而当允许存取的端口完成操作时,延迟端口BUSY标志才进行复位而打开此端口。18/31计算机组成原理18双端口存储器的读写时序并行存储器19/31计算机组成原理19并行存储器二、多模块交叉存储器:一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式20/31计算机组成原理20并行存储器假设有n个存储体,每个存储体的容量为m个存储单元顺序方式:n2logm2log每个存储体内的地址片选,存储体选择21/31计算机组成原理21并行存储器1、顺序方式[例]M0-M3共四个模块,则每个模块8个字顺序方式:M0:0—7M1:8-15M2:16-23M3:24-315位地址组织如下:XXXXX高位选模块,低位选块内地址特点:某个模块进行存取时,其他模块不工作,优点是某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。缺点是各模块串行工作,存储器的带宽受到了限制。22/31计算机组成原理22并行存储器2、交叉方式(可以实现多模块流水式并行存取)n2logm2log每个存储体内的地址片选,存储体选择23/31计算机组成原理23并行存储器[例]M0-M3共四个模块,则每个模块8个字交叉方式:M0:0,4,...除以4余数为0M1:1,5,...除以4余数为1M2:2,6,...除以4余数为2M3:3,7,...除以4余数为35位地址组织如下:XXXXX高位选块内地址,低位选模块特点:连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。优点是对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。使用场合为成批数据读取。24/31计算机组成原理24并行存储器3、多模块交叉存储器的基本结构右图为四模块交叉存储器结构框图。主存被分成4个相互独立、容量相同的模块M0,M1,M2,M3,每个模块都有自己的读写控制电路、地址寄存器和数据寄存器,各自以等同的方式与CPU传送信息。在理想情况下,如果程序段或数据块都是连续地在主存中存取,那么将大大提高主存的访问速度。25/31计算机组成原理25并行存储器通常在一个存储器周期内,m个存储体必须分时启动,则各个存储体的启动间隔为(m为交叉存取度)mT/)1(mTtmTt交叉顺序26/31计算机组成原理26例5设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期=50ns。若连续读出4个字,问顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出m=4q=64b×4=256b顺序存储器和交叉存储器连续读出4t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)τ=200ns+3x50ns=350ns=3.5×10-7s顺序存储器和交叉存储器的带宽分别是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(3.5×10-7)s=730Mb/s并行存储器27/31计算机组成原理27二模块交叉存储器举例28/31计算机组成原理28总结ROM叫做只读存储器。只读的意思是在它工作时只能读出,不能写入。然而其中存储的原始数据,必须在它工作以前写入。FLASH存储器也被称为闪速存储器(闪存),它是高密度非失易失性的读/写存储器。29/31计算机组成原理29总结双端口存储器是同一个存储器具有两组相互独立的读写控制电路。由于进行并行的独立操作,因而是一种高速工作的存储器。多模块交叉存储器:一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中如何安排,有两种方式:一种是顺序方式,一种是交叉方式。30/31计算机组成原理30思考题1、RAM和ROM的主要区别是什么?2、什么是并行存储器,为什么它能提高存取的速度?3、多模块交叉存储器线性编址的两种方式。31/31计算机组成原理31预习存储器访问的局部性原理与层次结构存储系统Cache存储器