设存储器读写周期均为0.5us,CPU 在1us 内至少要访存一次。可以采取什么刷新方式?两次刷新的时间间隔是多少?对全部存储单元刷新一遍,所需实际刷新时间是多少?
时间: 2024-04-01 11:37:57 浏览: 68
可以采取间隔0.5us的分散刷新方式,即每次刷新一部分存储单元,使得在1us内能够完成至少两次刷新。两次刷新的时间间隔为0.5us。
对全部存储单元刷新一遍,所需实际刷新时间是存储器容量乘以单次刷新时间,即:
实际刷新时间 = 存储器容量 × 单次刷新时间 = 存储器容量 × 0.5us
注意,这里的存储器容量是指需要刷新的存储单元数量。
相关问题
若用容量为16K×1的DRAM芯片构成64KB的存储器。 (1)画出该存储器的结构框图; (2)设存储器的读写周期均为0.5μs,CPU在1μs内至少要访存1次,试问采用哪种刷新方式比较合适?相邻两行之间的刷新间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
好的,我明白了,不会透露您的要求。下面是我的回答:
1. 存储器的结构框图如下所示:
```
+---------+
| 16K×1 |
| DRAM |
| Chip 1 |
+---------+
|
|
|
+---------+
| 16K×1 |
| DRAM |
| Chip 2 |
+---------+
|
|
|
+---------+
| 16K×1 |
| DRAM |
| Chip 3 |
+---------+
|
|
|
+---------+
| 16K×1 |
| DRAM |
| Chip 4 |
+---------+
```
存储器由4个16K×1的DRAM芯片组成,每个芯片存储4个16K字节的数据,总共存储64K字节的数据。
2. CPU在1μs内至少要访存1次,因此存储器的读写周期均为0.5μs。为了避免DRAM存储单元电荷的漏失,需要定期进行刷新操作。常见的刷新方式有行刷新和列刷新。由于本题所给的DRAM芯片是16K×1的,因此采用行刷新比较合适。
相邻两行之间的刷新间隔是4ms,因为每个DRAM芯片有16K个存储单元,每个存储单元需要刷新一次,刷新时间为0.5μs,因此每个芯片的刷新时间为8ms。为了避免同时刷新多个芯片造成总线竞争,可以将4个芯片分成两组,每组两个芯片,分别在不同的时间段内进行刷新。
对全部存储单元刷新一遍所需的实际刷新时间是64ms,因为一共有64K个存储单元,每个单元需要刷新一次,刷新时间为0.5μs,因此需要刷新的总时间为32ms。由于需要分成两组进行刷新,因此实际刷新时间为64ms。
16.(10.0分)用容量为16Kx1的DRAM芯片构成 64KB的存诸器。 (1)画出该存诸器的结构框图。 (2)设存诸器的读写周期均为0.5us,CPV在lus内 至少访存一次,试问采用哪种刷新方式比较合理? 相邻两行之间的刷新间隔是多少?对全部存诸单元 刷新一遍所需的实际刷新时间是多少?
1. 存储器结构框图如下:
```
+------------------------+
| 64KB 存储器 |
+------------------------+
| 0x0000 - 0x3FFF |
|------------------------|
| 0x4000 - 0x7FFF |
|------------------------|
| 0x8000 - 0xBFFF |
|------------------------|
| 0xC000 - 0xFFFF |
+------------------------+
```
其中,每个16Kx1的DRAM芯片占据4个连续的地址空间。
2. 由于读写周期均为0.5us,每个DRAM芯片需要在0.5us内进行一次刷新。因此,采用自刷新方式比较合理,这样可以避免对CPU的干扰。
相邻两行之间的刷新间隔为4个DRAM芯片的刷新时间,即2us。
对全部存储单元刷新一遍所需的实际刷新时间为64KB / 16KB * 0.5us = 2us。因此,需要在2us内完成对全部存储单元的刷新。