计算机组成原理中国石油大学chap03new
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章存储系统
重点:
1.随机读写存储器
2.只读存储器
3.高速存储器
4. cache存储器
5.虚拟存储器
难点:
1.动态存储器(DRAM)的刷新问题,存储时序图的分析
2.CPU与存储器的连接(字位法)
3.cache存储器
3.1存储器概述
3.1.1存储器分类
存储器是计算机系统中的记忆设备,用来存放程序和数据。
构成存储器的存储介质,目前主要采用①半导体器件②磁性材料。
存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。
由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。
根据存储材料的性能及使用方法不同,存储器有各种不同的分类方法: (1)按存储介质分
半导体存储器:用半导体器件组成的存储器。
磁表面存储器:用磁性材料做成的存储器。
(2)按存储方式分
随机存储器:任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关。
顺序存储器:只能按某种顺序来存取,存取时间和存储单元的物理位置有关。
(3)按存储器的读写功能分
只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。
随机读写存储器(RAM):既能读出又能写入的半导体存储器。
(4)按信息的可保存性分
非永久记忆的存储器:断电后信息即消失的存储器。
永久记忆性存储器:断电后仍能保存信息的存储器。
(5)按在计算机系统中的作用分
根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。
主存介绍:
(1)ROM
①MASK ROM
②PROM (EPROM, EEPROM)
③FLASH MEMORY
(2)RAM
①SRAM(Sync SRAM)
②DRAM(EDO DRAM, SDRAM, DDR SDRAM)
③目前中关村(国内)主流:DDR SDRAM内存条
线数发展:30线(1990年以前);
72线(1998年以前);
168线(2001年以前);
184线(2002~)。
外形变化:从双列直插式芯片发展到内存条(2M, 4M, 8M, 16M, 32M, 64M, 128M, 256M,等)。
外频等,PC100, PC266,PC333等。
单位:Byte, KB, MB, GB, TB
Kilo Byte Mega Byte Giga Byte Tera Byte
3.1.2存储器的分级结构
为了解决对存储器要求容量大,速度快,成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。
表3.1 存储器的用途和特点
名称简称用途特点高速缓冲存储器Cache高速存取指令和数据存取速度快,但存储容量小主存储器主存存放计算机运行期间的大量程序和数据存取速度较快,存储容量不大
外存储器外存存放系统程序和大型数据文件及数据库存储容量大,位成本低
3.1.3主存储器的技术指标
主存储器的性能指标主要是存储容量、存取时间、存储周期和存储器带宽。
字存储单元即存放一个机器字的存储单元,相应的地址称为字地址。
一个机器字可以包含数个字节,所以一个存储单元也可包含数个能够单独编址的字节地址。
下面列出主存储器的主要几项技术指标:
表3.2 主存储器的主要几项技术指标
指标含义表现单位存储容量在一个存储器中可以容纳的存储单元总数存储空间的大小字数,字节数
存取时间启动到完成一次存储器操作所经历的时间主存的速度ns
存储周期连续启动两次操作所需间隔的最小时间主存的速度ns
存储器带宽单位时间里存储器所存取的信息量,数据传输速率技术指标位/秒,字节/秒
3.2随机读写存储器
3.2.1SRAM存储器
1基本存储元
基本存储元是组成存储器的基础和核心,它用来存储一位二进制信息0或1。
六管SRAM存储元的电路图及读写操作图:
原理:它是由两个MOS反相器交叉耦合而成的触发器,一个存储元存储一位二进制代码.这种电路有两个稳定的状态,并且A,B两点的电位总是互为相反的,因此它能表示一位二进制的1和0。
同学们是否能看图说出该存储元的读写操作是怎么实现的?
写操作:
写“1”:(1)在I/O线上输入高电位,在I/O线上输入低电位,(2)开启T5,T6,T7,T8四个晶体管,把高、低电位分别加在A,B点,使T1管截止,使T2管导通,(3)当输入
信号及地址选择信号消失后,T1、T2保持被强迫写入的状态不变,(4)从而将“1”写入存储
元。
写“0”:在I/O线上输入低电位,在I/O线上输入高电位,打开T5,T6,T7,T8四个开门管把低、高电位分别加在A,B点,使T1管导通,T2管截止, 当输入信号及地址选择信
号消失后,T1、T2保持被强迫写入的状态不变,将“0”信息写入了存储元。
读操作:若某个存储元被选中,则该存储元的T5,T6,T7,T8管均导通,A,B两点与位线D 与D相连存储元的信息被送到I/O与I/O线上。
I/O与I/O线接着一个差动读出放大器,从其电流方向可以判知所存信息是“1”还是“0”。
2SRAM存储器的组成
此SRAM存储器的组成:
存储体:存储单元的集合,通常用X选择线(行线)和Y选择线(列线)的交叉来选择所需要的单元。
地址译码器:将用二进制代码表示的地址转换成输出端的高电位,用来驱动相应的读写电路,以便选择所要访问的存储单元。
地址译码有两种方式。
表3.3 地址译码的两种方式
下图是一个采用双译码结构的存储单元矩阵的译码过程。
驱动器: 双译码结构中,在译码器输出后加驱动器,驱动挂在各条X方向选择线上的所有存储元电路。
I/O电路:处于数据总线和被选用的单元之间,控制被选中的单元读出或写入,放大信息。
片选: 在地址选择时,首先要选片,只有当片选信号有效时,此片所连的地址线才有效。
输出驱动电路:为了扩展存储器的容量,常需要将几个芯片的数据线并联使用;另外存储器的读出数据或写入数据都放在双向的数据总线上。
这就用到三态输出缓冲器。
3SRAM存储器芯片实例
下图是Intel 2114存储器芯片的逻辑结构方框图。
注意:由于读操作与写操作是分时进行的,读时不写,写时不读,因此,输入三态门与输出三态门是互锁的,数据总线上的信息不致于造成混乱。
4存储器与CPU连接
CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要发出读操作或写操作的控制信号,最后在数据总线上进行信息交流,要完成地址线的连接、数据线的连接和控制线的连接。
存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。
主要方法有:
(1)位扩展法:仅在位向扩充,只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求使用8K×1的RAM存储器芯片,组成8K×8位的存储器。
(2)字扩展法:仅在字向扩充,而位数不变.需由片选信号来区分各片地址。
(3)字位同时扩展法:一个存储器的容量假定为M×N位,若使用L×k 位的芯片(L<M,k<N),需要在字向和位向同时进行扩展。
此时共需要(M/L×(N/k)个存储器芯片。
用16K×8位的芯片采用字扩展法组成64K×8位的存储器连接图演示。
举例(增加内容:字位同时扩展):要求用256K*16位SRAM芯片设计1024K*32位的存储器。
SRAM芯片由两个控制端:当CS有效时,该片选中。
当W/R=1时执行读操作,当W/R=0时执行写操作。
请画出存储器与CPU的连接图(设CPU各个引脚已知且足够使用)。
5存储器的读、写周期
在与CPU连接时,CPU的控制信号与存储器的读、写周期之间的配合问题是非常重要的。
(1)读周期:读周期与读出时间是两个不同的概念。
读出时间是从给出有效地址到外部数据总线上稳定地出现所读出的数据信息所经历的时间。
读周期时间则是存储片进行两次连续读操作时所必须间隔的时间,它总是大于或等于读出时间。
图3.8 2114的读周期
(2)写周期: 要实现写操作,要求片选CS和写命令WE信号都为低,并且CS信号与WE信号相“与”的宽度至少应为t W。
【例1】下图是SRAM的写入时序图。
其中R/W是读/写命令控制线,当R/W线为低电平时,
存储器按给定地址把数据线上的数据写入存储器。
请指出下图写入时序中的错误,并画出正确的写入时序图。
【解】写入存储器的时序信号必须同步。
通常,当R/W线加负脉冲时,地址线和数据线的电平必须是稳定的。
当R/W线达到低电平时,数据立即被存储。
因此,当R/W线处于低电平时,如果数据线改变了数值,那么存储器将存储新的数据⑤。
同样,当R/W线处于低电平时地址线如果发生了变化那么同样数据将存储到新的地址②或③。
正确的写入时序图见下图。
3.2.2DRAM存储器
1四管动态存储元
四管的动态存储电路是将六管静态存储元电路中的负载管T3,T4去掉而成的。
注意它和六管静态存储元电路的区别。
(1)写操作: I/O与I/O加相反的电平,打开T7和T8,T5和T6,信息送至A,B端存储在栅极电容上,当T5,T6截止时,靠T1,T2管栅极电容的存储作用,在一定时间内(如2ms)可保留所写入的信息。
(2)读操作: 先给出预充信号,使T9,T10管导通,位线D和D上的电容都达到电源电压。
字选择线使T5,T6管导通时,存储的信息通过A,B端向位线输出。
同时D上的电荷可以通过A点向电容补充,所以读出过程也是刷新过程。
(3)刷新操作: 为防止存储的信息电荷泄漏而丢失信息,由外界按一定规律不断给栅极进行充电,补足栅极的信息电荷。
这就是刷新。
2单管动态存储元
单管动态存储元电路由一个管子T1和一个电容C构成。
写入:字选择线为“1”,T1管导通,写入信息由位线(数据线)存入电容C中;
读出:字选择线为“1”,存储在电容C上的电荷,通过T1输出到数据线上,通过读出放大器即可得到存储信息。
表3.4 单管存储元电路和四管存储元电路对比
需要有高鉴别能力的读出放大器配合工
作外围电路比较复杂。
3DRAM存储芯片实例
DRAM存储器芯片的结构大体与SRAM存储器芯片相似,由存储体与外围电路构成。
但它集成度要高,外围电路更复杂。
下图是16K×1位的DRAM存储器片2116的逻辑结构示意图。
图3.11 16K*1位DRAM芯片
4DRAM的刷新
动态MOS存储器一般采用“读出”方式按行进行刷新。
从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔叫刷新周期。
一般为2ms, 4ms, 8ms
常用的刷新方式有三种,一种是集中式,另一种是分散式,第三种是异步式。
(1)集中式刷新:在整个刷新间隔内,前一段时间重复进行读/写周期或维持周期,等到需要进行刷新操作时,便暂停读/写或维持周期,而逐行刷新整个存储器,它适用于高速存储器。
图3.14(a) 集中刷新方式
(2)分散式刷新:把一个存储系统周期t c分为两半,周期前半段时间t m用来读/写操作或维持信息,周期后半段时间t r作为刷新操作时间。
这样,每经过128个系统周期时间,整个存储器便全部刷新一遍。
图3.14(b) 分散刷新方式
(3)异步式刷新方式是前两种方式的结合。
【例2】说明1M×1位DRAM片子的刷新方法,刷新周期定为8ms
如果选择一个行地址进行刷新,刷新地址为A0—A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期的刷新。
按照这个周期数,512×2048=1 048 567,即对1M位的存储元全部进行刷新。
刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms÷512=15.5μs 刷新一次的异步刷新方式。
5存储器控制电路
DRAM存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。
这些控制线路形成DRAM控制器,它将CPU的信号变换成适合DRAM片子的信号。
(1)地址多路开关:刷新时需要提供刷新地址,由多路开关进行选择。
(2)刷新定时器:定时电路用来提供刷新请求。
(3)刷新地址计数器:只用RAS信号的刷新操作,需要提供刷新地址计数器。
(4)仲裁电路:对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权
进行裁定。
(5)定时发生器:提供行地址选通信号RAS、列地址选通信号CAS和写信号WE.
3.2.3主存储器组成实例(简介)
本小节以DRAM控制器W4006AF为例,说明80386中主存储器的构成方法。
下面是采用W4006AF构成的80386主存储器简图,具体框图参看教材:
3.17 采用W4006AF构成的80386主存储器
1W4006AF的外特性
①可以控制两个存储体交叉访问;
②可以对256KB—16MB的DRAM片子进行访问;
③最多可控制128个DRAM片子;
④采用CAS在RAS之前的刷新方式。
2主存储器组成
上图右半部所示为80386主存储器的基本构成,有4 个存储模块,每个模块存储容量为1M ×32位。
在用W4006AF控制器构成存储器时,几乎不需要外加电路,直接把W4006AF同CPU 和DRAM双方进行连接即可。
要对主存容量进行扩充,只需扩充DRAM芯片数量或更换存储容量更大的DRAM芯片即可。
3.2.4高性能的主存储器
1EDRAM芯片(Enhonced DRAM)
EDRAM芯片又称增强型DRAM芯片,它在DRAM 芯片上集成了一个SRAM实现的小容量高速缓冲存储器,从而使DRAM芯片的性能得到显著改进。
1M×4位EDRAM芯片的结构框图
原理:
(1)以SRAM保存一行内容的办法,对成块传送非常有利。
(2)如果连续的地址高11位相同,意味着属于同一行地址,那么连续变动的9位列地址就会使SRAM中相应位组连续读出,这称为猝发式读取。
(3)若11位高地址不相符合,则更新SRAM和最后读出行地址锁存器的内容。
两个优点:
(1)在SRAM读出期间可同时对DRAM阵列进行刷新。
(2)芯片内的数据输出与输入路径是分开的,允许在写操作完成的同时启动同一行的读操作。
2、EDRAM内存条
1片EDRAM的容量为1M×4位,8片这样的芯片可组成1M×32位的存储模块。
8个芯片共用片选信号Sel、行选通信号RAS、刷新信号Ref和地址输入信号A0—A10。
当某模块被选中,此模块的8个EDRAM芯片同时动作,8个4位数据端口D3—D0同时与32位数据总线交换数据,完成一次32位字的存取。
上述存储模块本身具有高速成块存取能力,这种模块内存储字完全顺序排放,以猝发式存取来完成高速成块存取的方式,在当代微型机中获得了广泛应用。
(1)共用信号:RAS,A10-0,Ref,Sel
(2)CAS3-0与BE3-0相连。
A1A0=00 表示BE3-0全有效
(3)A23A22=模块选择,其译码输出连接四个模块的Sel
(4)A21~A11与A10~A2的作用
(5)当某个模块被选中时的工作
(6)高速存储能力:如高13位不变,存取时间分析
3.主存物理地址的存储空间分布
下面以奔腾PC机主存为例,说明主存物理地址的存储空间概念。
奔腾PC机主存物理地址最大可访问主存空间为256MB,实际只安装了16MB的DRAM。
存储空间分成基本内存、保留内存、扩展内存几部分。
3.3只读存储器和闪速存储器
3.3.1只读存储器
1ROM的分类
只读存储器简称ROM,它只能读出,不能写入。
它的最大优点是具有不易失性。
根据编程方式不同,ROM通常分为三类:
表3.5 ROM的分类
只读存储器定义优点缺点
掩模式数据在芯片制造过程中就确定可靠性和集成度高,价格便宜不能重写
一次编程用户可自行改变产品中某些存储元可以根据用户需要编程只能一次性改写
多次编程
可以用紫外光照射或电擦除原来的数
据,然后再重新写入新的数据
可以多次改写ROM中的内容
2光擦可编程只读存储器(EPROM) (1)基本存储元电路
P沟道EPROM的基本电路结构示意图演示
(2)EPROM实例
Intel 2716的内部结构图演示
表3.6 工作模式选择
PD/PGM CS Vpp Vcc数据输出读低低+5V+5V输出
未选中无关高+5V+5V高阻
功率下降高无关+5V+5V高阻
编程由低到高脉冲高+25V+5V输入
【例3】CPU的地址总线16根(A15—A0,A0为低位),双向数据总线8根(D7—D0),控制总线中与主存有关的信号有MREQ(允许访存,低电平有效),R/W(高电平为读命令,低电平为写命令)。
主存地址空间分配如下:0—8191为系统程序区,由只读存储芯片组成;8192—32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。
上述地址为十进制,按字节编址。
现有如下存储器芯片:EPROM:8K×8位(控制端仅有CS);SRAM:16K×1位,2K×8位,4K×8位,8K×8位.请从上述芯片
中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出选片逻辑(可选用门电路及3∶8译码器74LS138)与CPU 的连接,说明选哪些存储器芯片,选多少片。
【解】 要点:
(1)主存地址空间分布如图所示。
(2)详细地址分配表(8K 对应13根地址线, 2K 对应10根地址线)
A 15 A 14 A 13 A 12 A 11 A 10 ~~~~ A 0
0 0 0 0 0 0 ~~~~ 0 0000H
0 0 0 1 1 1 ~~~~ 1 1FFFH
0 0 1 0 0 0 ~~~~ 0 2000H
0 0 1 1 1 1 ~~~~ 1 3FFFH
0 1 0 0 0 0 ~~~~ 0 4000H
0 1 0 1 1 1 ~~~~ 1 5FFFH
0 1 1 0 0 0 ~~~~ 0 6000H
0 1 1 1 1 1 ~~~~ 1 7FFFH
1 1 1 1 1 0 ~~~~ 0 F800H
1 1 1 1 1 1 ~~~~ 1 FFFFH
(3)根据给定条件,选用EPROM :8K×8位芯片1片。
SRAM :8K×8位芯片3片,2K×8位芯
片1片。
3∶8译码器仅用Y0,Y1,Y2,Y3和Y7输出端,且对最后的2K×8位芯片还需加门电路译码。
(4)画图
0000H 1FFFH 2000H
7FFFH
F800H FFFFH
8K
8K 8K 8K 2K
图3.24 主存储器组成与CPU的连接逻辑图
3.3.2闪速存储器
1什么是闪速存储器
闪速存储器是一种高密度、非易失性的读/写半导体存储器,它突破了传统的存储器体系,改善了现有存储器的特性。
是一种使用闪速型浮动门晶体管的电可擦除只读存储器(EEPROM / EPROM)。
常见的USB:Universal Serial Bus(通用串行总线)。
2闪速存储器的逻辑结构256Kbit(32k*8位)
28F256A的逻辑方框图演示
除了指令寄存器在内的控制和定时逻辑,其余部分与一般半导体存储器的结构相似。
其中VCC(+5V)是对器件供电,VPP(+12V)是擦除/编程供电的电源。
3闪速存储器的工作原理
闪速存储器是在EPROM功能基础上增加了电路的电擦除和重新编程能力。
28F256A引入一个指令寄存器来实现这种功能。
其作用是:
保证TTL电平的控制信号输入;在擦除和编程过程中稳定供电;最大限度的与EPROM兼容。
读写操作(工作原理):
(1)当VPP引脚不加高电压时,它只是一个只读存储器。
(2)当VPP引脚加上高电压时,除实现EPROM通常操作外,通过指令寄存器,可以实现存储器内容的变更。
(3)当VPP=低(VPPL)时,指令寄存器的内容为读指令,使28F256A成为只读存储器,称为写保护。
4闪速存储器的工作模式
表3.4 28F256A 工作模式
Vpp A0A9CE OE WE DQ0--DQ7
只
读V PPL A0A9001数据输出
读
输出禁止等待V PPL
V PPL
×
×
×
×
1
1
×
1
×
三态输出
三态输出
读写
读
输出禁止
备用
写
V pph
V pph
V pph
V pph
A0
×
×
A0
A9
×
×
A9
1
1
×
1
1
1
×
数据输出
三态输出
三态输出
数据输入
读操作:片选信号CE是供电控制端,输出允许信号OE用于控制数据从输出引脚的输出。
只有这两个信号同时有效时,才能实现数据输出。
输出禁止操作:当输出允许控制端OE处于高电平时,28F256A被禁止输出,输出引脚置于高阻状态。
等待操作:当片选信号CE处于逻辑高电平时,等待操作抑制了28F256A的大部分电路,减少器件功耗。
写操作:当VPP为高电压时,通过指令寄存器实现器件的擦除和编程。
当CE=0且WE=0时,通过写周期对指令寄存器进行写入。
5闪速存储器与CPU的连接
CPU与闪速存储器进行连接的逻辑框图。
中间部分是接口电路。
地址总线和控制总线由CPU发向存储器和接口逻辑,数据总线为双向总线。
地址总线的宽度决定了存储器的存储容量,数据总线的宽度决定了存储器的字长。
3.4高速存储器
由于CPU和主存储器在速度上不匹配,而且在一个CPU周期中可能需要用几个存储器字,这便限制了高速计算,为了使CPU不至因为等待存储器读写操作的完成而无事可做,可以采取一些加速CPU 和存储器之间有效传输的特殊措施
3.4.1双端口存储器
1双端口存储器的逻辑结构
双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。
2K×16位双端口存储器IDT7133的逻辑功能方框图如下。
它提供了两个相互独立的端口,即左端口右端口。
它们分别具有各自的地址线、数据线和控制线,可以对存储器中任何位置上的数据进行独立的存取操作。
2无冲突读写控制
当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。
当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制和输出驱动控制。
表3.8 无冲突读写控制
左端口或右端口
功能
I/O0-7I/O8-15
R/Wlb R/Wub
CE OE
×0 0 1 0 1 1 1
×
1
1
1
1
1
1
×
1
1
1
Z
数据入
数据入
数据出
数据入
Z
数据出
Z
Z
数据入
数据出
数据入
Z
数据入
数据出
Z
端口不用
低位和高位字节数据写入存储器
低位字节数据写入存储器,存储器中数据输出至高位字节
存储器中数据输出至低位字节,高位字节数据写入存储器
低位字节写入存储器
高位字节写入存储器
存储器中数据输出至低位字节号高位字节
高阻抗输出
3有冲突的读写控制
当两个端口同时存取存储器同一存储单元时,便发生读写冲突。
为解决此问题,特设置了
BUSY标志。
由片上的判断逻辑决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口。
1.CE判断:如果地址匹配且在CE之前有效,片上的控制逻辑在CEL和CER之间进行判断来选择
端口。
2.地址有效判断:如果CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口。
表3.9 左、右端口读写操作的功能判断
3.4.2多模块交叉存储器
1存储器的模块化组织
一个由若干个模块组成的主存储器是线性编址的。
这些地址在各模块有两种安排方式:一种是顺序方式,一种是交叉方式。
顺序方式:某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。
但各模块串行工作,存储器的带宽受到了限制。
交叉方式:地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。
连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。
对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。
2多模块交叉存储器的基本结构
四模块交叉存储器结构框图
每个模块各自以等同的方式与CPU传送信息。
CPU同时访问四个模块,由存储器控制部件控制它们分时使用数据总线进行信息传递。
这是一种并行存储器结构。
定量分析:
我们认为模块字长等于数据总线宽度,模块存取一个字的存储周期为T,总线传送周期为τ,存储器的交叉模块数为m,为了实现流水线方式存取,应当满足:
T=mτ(m=T/τ称为交叉存取度)
交叉存储器要求其模块数必须大于或等于m,以保证启动某模块后经mτ时间再次启动该模块时,它的上次存取操作已经完成。
这样,连续读取m 个字所需的时间为:
t1=T+(m-1)τ
而顺序方式存储器连续读取m个字所需时间为t2=mT.交叉存储器的带宽确实大大提高了。
m=4的流水线方式存取示意图如下
图3.31 流水线方式存取示意图
【例4】设存储器容量为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+30ns=350ns=35×10-7s
顺序存储器和交叉存储器的带宽分别是:
W2=q/t2=256÷(8×10-7)=32×107[位/s];
W1=q/t1=256÷(35×10-7)=73×107[位/s]
3二模块交叉存储器举例
二模块交叉存储器方框图演示
DRAM存储器读/写周期时,在行选通信号RAS有效下输入行地址,在列选通信号CAS有效下输入列地址。
如果是读周期,此位组内容被读出;如果是写周期,将总线上数据写入此位组。
刷新周期是在RAS有效下输入刷新地址,此地址指示的一行所有存储元全部被再生。
A20—A3的18位地址用于模块中256K个存储字的选择。
A2用模块选择,连续的存储字交错分布在两个模块上,偶地址在模块0,奇地址在模块1。
DRAM存储器需要逐行定时刷新,而且,DRAM芯片的读出是一种破坏性读出,因此在读取之后要立即按读出信息予以充电再生。
这样,若CPU先后两次读取的存储字使用同一RAS选通信号的话,CPU在接收到第一个存储字之后必须插入等待状态,直至前一存储字再生完毕才开始第二个存储字的读取。