21、内存层次结构详解

内存层次结构详解

在现代计算机系统中,处理器速度、主存(DRAM)速度和二级存储(磁盘)速度之间的差距不断扩大,如何以处理器所需的速度提供数据和指令,同时满足现代应用对不断扩展的内存空间的需求,成为了一个极具挑战性的问题。为了解决这个问题,现代系统采用了基于速度、大小和成本的内存层次结构。

1. 内存层次结构概述

内存层次结构可以分为缓存层次结构和虚拟内存层次结构,如下面的表格所示:
| 层次 | 类型 | 速度 |
| ---- | ---- | ---- |
| 寄存器文件 | 寄存器 | 0.5 ns |
| L1缓存 | 缓存 | 5 ns |
| L2缓存 | 缓存 | 20 ns |
| L3缓存 | 缓存 | 200 ns |
| 主存 | DRAM | 无明确值 |
| 磁盘 | 二级存储 | 10 ms |

处理器和主存之间的速度差距呈指数级增长,这一问题被称为“内存墙”。为了缩小这一差距,系统采用了多级缓存,并且各级缓存的设计越来越复杂,以减少或隐藏缓存未命中的延迟。现代的无锁定(非阻塞)缓存能够同时处理多个缓存命中和未命中情况,还会在需要之前预取数据和指令。

在多处理器和多核系统中,由于共享资源的竞争、一致性需求以及互连网络带来的延迟,内存墙问题更加严重。不过,本文主要关注单核系统的内存架构。

缓存由缓存行组成,每个缓存行可以容纳一个相同大小的内存块。由于缓存比主存小得多,一个特定的缓存行可以被多个内存块共享,并且随着时间的推移可以包含不同的内存块。内存块到缓存行的映射方式是缓存的一个重要特性。当处理器在某个级别的缓存中找到所需地址时,称为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值