设存储器容量为64MB,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传送周期τ=50ns,若连续读出4个字。求:顺序存储器和交叉存储器的带宽各是多少?
时间: 2024-03-18 07:44:24 浏览: 64
对于顺序存储器,每个模块的存储容量为64MB/8=8MB=8x1024x1024字节。每次读取4个字,即256位,需要4个存储周期,总共需要花费4x100ns=400ns。因此,每秒可以读取的数据量为256位x(1/400ns)x(1/1024/1024)x8模块=41.67MB/s。
对于交叉存储器,每个模块的存储容量为8MB/8=1MB=1x1024x1024字节。将每个字分成8个部分,交错存储在不同的模块中。每次读取4个字,需要4个总线传送周期,总共需要花费4x50ns=200ns。因此,每秒可以读取的数据量为256位x(1/200ns)x(1/1024/1024)x8模块=100MB/s。
因此,顺序存储器的带宽为41.67MB/s,交叉存储器的带宽为100MB/s。
相关问题
设存储器容量为64MB,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=100ns,数据总线宽度为64位,总线传递周期t=50ns,求顺序存储器和交叉存储器的带宽各为多少
对于顺序存储器,每个模块的容量为64MB / 8 = 8MB = 8 × 2^20 字节。因为字长为64位,所以每个模块可以存储8MB / 8 = 1MB = 2^20 个字。存储周期为100ns,总线传递周期为50ns,所以每个模块可以在一个存储周期内传输2个字,也就是128位数据。总的带宽为:
带宽 = 每个模块的带宽 × 模块数 = 128位/周期 × 1MB/周期 × 8 = 1G字节/秒
对于交叉存储器,每个模块的容量和字数与顺序存储器相同,但是数据被交叉存储在不同的模块中。为了避免冲突,每个模块只能在每个存储周期的偶数或奇数时刻进行读写操作。因此,每个模块的有效带宽为:
带宽 = 64位/周期 × 1MB/2周期 = 0.5G字节/秒
总的带宽为:
带宽 = 每个模块的带宽 × 模块数 = 0.5G字节/秒 × 8 = 4G字节/秒
因此,顺序存储器的带宽为1G字节/秒,交叉存储器的带宽为4G字节/秒。交叉存储器的带宽更高,但是需要额外的控制逻辑来实现交叉存储,因此成本也更高。
3. 设存储器容量为32字,字长64位,模块数m = 8,分别用顺序方式和交叉方式进行组织。存储周期T = 200ns,数据总线宽度为64位,总线周期τ = 100ns .问顺序存储器和交叉存储器的带宽各是多少
对于顺序存储器,每个模块的容量为32/8=4字,数据总线宽度为64位,因此每个字需要传输64位的数据。每次传输耗时为一个总线周期τ=100ns,因此每个字的传输时间为100ns。根据存储周期T=200ns,可以计算出每个存储周期内可以传输2个字。因此,顺序存储器的带宽为:
带宽 = 每个存储周期内传输的字节数 × 每个字节的位数 / 存储周期时间
= 2字 × 64位 / 200ns
= 64MB/s
对于交叉存储器,每个模块的容量为32/8=4字,数据总线宽度为64位,因此每个字需要传输64位的数据。每次传输需要经过m个模块,因此总传输距离为m个模块之间的距离。每个模块之间的距离可以看做是一个字的距离,因此每个字需要经过m个总线周期τ=100ns的传输。根据存储周期T=200ns,可以计算出每个存储周期内可以传输2个字。因此,交叉存储器的带宽为:
带宽 = 每个存储周期内传输的字节数 × 每个字节的位数 / 存储周期时间
= 2字 × 64位 / (m × τ + T)
= 2字 × 64位 / (8 × 100ns + 200ns)
= 16MB/s
因此,顺序存储器的带宽为64MB/s,交叉存储器的带宽为16MB/s。可以看出,交叉存储器的带宽明显低于顺序存储器,这是由于交叉存储器在访问时需要经过多个模块,因此访问速度较慢。