在计算机系统设计中, 根据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。
推荐阅读
- SiP和SoC之间有哪些区别()
- SQL中简单视图和复杂视图之间的区别
- Servlet和JSP之间有什么区别()
- Java中Scanner和BufferReader类之间的区别
- Docker命令RUN、CMD和ENTRYPOINT之间的区别
- 可路由和不可路由协议之间的区别
- C#中Ref和Out关键字之间的区别
- C#中的readonly和const关键字之间的区别
- RDBMS和ORDBMS之间有哪些区别()