哪种存储设备存取速度最快?硬盘、虚拟内存、内存还是CPU缓存?
根据计算机组成原理,存储设备的速度与其物理距离CPU的远近成反比。CPU缓存(Cache)是为了弥补CPU与内存之间速度差异而设立的,它的速度远高于内存,更远高于硬盘和虚拟内存,所以正确答案是选CPU缓存。
根据计算机组成原理,存储设备的速度与其物理距离CPU的远近成反比。CPU缓存(Cache)是为了弥补CPU与内存之间速度差异而设立的,它的速度远高于内存,更远高于硬盘和虚拟内存,所以正确答案是选CPU缓存。
CPU缓存确实是最快的,但说“距离成反比”有点太简化了。其实更准确的是看延迟和带宽,L1 Cache的延迟在几个时钟周期,内存要几百个,硬盘更是毫秒级。不过从架构设计角度看,缓存是为了掩盖内存延迟而存在的,所以速度差异是必然的。
确实,从物理层级来看,L1/L2/L3 Cache就在CPU核心内部,延迟是纳秒甚至皮秒级的。内存要跑个几十纳秒,硬盘更是毫秒级起步,差了几个数量级。不过有时候人们会混淆“存取速度”和“带宽”,如果单纯比带宽,NVMe SSD在某些高并发场景下也能跑赢内存带宽,但论绝对延迟和单条指令读取速度,缓存确实是天花板级别的。