在计算机系统设计中, 根据CPU尝试访问不同级别的内存的方式, 内存组织主要分为两种主要类型。
这两种类型包括同时访问存储组织和分层访问内存组织。让我们从下表中了解两者之间的区别:
图–
同时访问存储组织
图–
分层访问内存组织
同时和分层访问存储组织之间的区别:
同时访问存储组织 | 分层访问内存组织 |
---|---|
在这个组织中, CPU直接连接到所有级别的内存。 | 在这个组织中, CPU始终直接连接到L1 即仅限1级内存。 |
CPU同时访问所有内存级别的数据。 | CPU始终从1级内存访问数据。 |
对于L1内存中遇到的任何”遗漏”, CPU可以直接访问更高内存级别的数据 (即L2, L3, ….. Ln)。 |
对于L1内存中遇到的任何”未命中”, CPU无法直接访问更高内存级别(即L2, L3, ….. Ln)中的数据。首先, 所需的数据将从更高的存储器级别传输到L1存储器。 只有这样, CPU才能对其进行访问。 |
如果H1和H2是命中率, T1和T2分别是L1和L2内存级别的访问时间, 则 平均内存访问时间可以计算为: |
如果H1和H2是命中率, T1和T2分别是L1和L2内存级别的访问时间, 则 平均内存访问时间可以计算为: |
注意:
- 默认情况下, 计算机系统的内存结构是使用分层访问内存组织设计的, 这是因为在这种类型的内存组织中, 由于引用的位置而缩短了平均访问时间。
- 同时访问内存组织用于实现直写式缓存.
- 在两种类型的内存组织中, 最后一个内存级别的命中率始终为1。