单体多字存储器
单纯一次总线传输可以传多个连续的字
多体并行存储器
高位交叉
编址格式:[体号:体内地址]
低位交叉
编址格式:[体内地址:体号]
- 体内地址 = 编址 / 体数
- 体号 = 编址 % 体数
- 连续 $m$ 个字 $\implies$ 各模块体交替被访问
启动方式
-
轮流启动:单个模块读写位宽 = 数据总线位宽
-
存取周期 $T$
-
总线周期 $r$
-
模块数 $m\geq \frac{T}{r}$
-
启动间隔 $s=\frac{T}{m}$
-
冷启动取连续 $m$ 个字时间 $$t_{m}=T+(m-1)r$$
-
-
同时启动:所有模块读写位宽 = 数据总线位宽
- 一个总线周期只能访问相同地址信号的内存区域
体冲突
发生体冲突会自动延长 $(m-1)\frac{T}{r}$ 的气泡,导致序列上原本在周期内的体冲突变不冲突
e.g. 四体交叉:0, 1, 1, 0
- 0, 0 本来冲突
- 但是由于 1, 1 先冲突插入气泡
- 于是插入气泡后 0, 0 不冲突
冷热启动
- 考虑性能峰值时,用热启动
- 考虑某次具体读写事务时,用冷启动 (因为后续体传输必须在第一个体接受到信号后才能开始,所以类似冷启动)
多体存储器 & 总线
存储周期只包括读写,总线传输周期紧跟在存储周期后. e.g. 八体存储,体字长=4B,存储周期=40ns,总线周期=5ns 则传输 32B 数据所用时间 = $40\mathrm{ns}+5\mathrm{ns}\times8$ 其中 40ns := 第一个体冷启动存储周期 其中 5ns $\times$ 8 := 紧跟の总线传输周期,与体启动周期重叠
多体并行带宽
$$带宽 = \frac{存储器总线宽}{单体启动周期}$$