顺序存储和交叉存储

更新时间:2024-04-19 00:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、存储器的模块化组织

一个由若干个模块组成的主存储器是线性编址的。

这些地址在各模块有两种安排方式:一种是顺序方式,一种是交叉方式。 点击演示

顺序方式:某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。但各模块串行工作,存储器的带宽受到了限制。

交叉方式:地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。

二、多模块交叉存储器的基本结构

四模块交叉存储器结构框图演示 点击演示

每个模块各自以等同的方式与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] 三、二模块交叉存储器举例

二模块交叉存储器方框图演示 点击演示

DRAM存储器读/写周期时,在行选通信号RAS有效下输入行地址,在列选通信号CAS有效下输入列地址。如果是读周期,此位组内容被读出;如果是写周期,将总线上数据写入此位组。刷新周期是在RAS有效下输入刷新地址,此地址指示的一行所有存储元全部被再生。A20—A3的18位地址用于模块中256K个存储字的选择。A2用模块选择,连续的存储字交错分布在两个模块上,偶地址在模块0,奇地址在模块1。

DRAM存储器需要逐行定时刷新,而且,DRAM芯片的读出是一种破坏性读出,因此在读取之后要立即按读出信息予以充电再生。这样,若CPU先后两次读取的存储字使用同一RAS选通信号的话,CPU在接收到第一个存储字之后必须插入等待状态,直至前一存储字再生完毕才开始第二个存储字的读取。

无等待状态成块存取示意图演示 点击演示

由于采用m=2的交叉存取度的成块传送,两个连续地址字的读取之间不必插入等待状态(零等待存取)。

本文来源:https://www.bwwdw.com/article/26dp.html

Top