内存心智模型

若忽略 Cache 的存在:
- 从 Guest 的视角来看,Guest 负责发出 Request(Load/Store 指令),Memory Controller 则在数据 Ready 时通知 Guest。
- Request 通常不会立即得到响应。Memory Controller 会先对请求进行合并,再统一处理。
- Memory Controller 会向物理内存发起 ACTIVATE / READ / WRITE 等操作。每次硬件数据传输都对应某个 Bank 中的 Row。Memory Controller 需要先执行 ACTIVATE,才能进行 READ / WRITE,而 ACTIVATE 通常非常耗时。
- 硬件的单次
READ / WRITE操作总有一个最小传输 Size,即使实际需要的数据量小于该 Size,也必须按照最小传输粒度执行。 - 当已知 Latency 和 Bandwidth 时,可以将
READ / WRITE抽象为在一条宽度为 Bandwidth、长度为 Latency 的传送带上传输数据。这条传送带可以称为 Channel。
- 一个系统中可以存在多个 Channel,并行执行数据传输。
- 这一模型与 Little's Law 相对应。传送带可以类比为排队论中的队列:为了保证传送带始终满载,需要让队列中始终保持足够数量的待处理请求。