计算机系统中的各种延时

在计算机世界中,单个 CPU 周期的时间是极为短暂的。它以纳秒为单位,我们可以通过将 1 个 CPU 周期的 0.3 纳秒等比例放大至 1 秒,构建一个假想的时间系统,以便更好地理解从 L1 缓存访问到物理系统重启等各种计算机操作的延迟。
single

在计算机世界中,单个 CPU 周期的时间是极为短暂的。它以纳秒为单位。为了让这些微小的时间单位变得更加直观,我们可以通过将 1 个 CPU 周期的 0.3 纳秒等比例放大为现实生活中的 1 秒,构建一个假想的时间系统。通过这种方式,我们可以更好地理解从 L 1 缓存访问到物理系统重启等各种计算机操作的延迟。

事件延时相对时间比例
1 个 CPU 周期0.3 ns1 s
L 1 缓存访问0.9 ns3 s
L 2 缓存访问3 ns10 s
L 3 缓存访问10 ns33 s
主从访问(从 CPU 访问 DRAM)100 ns6 分
固态硬盘 I/O(闪存)10-100 微秒9-90 小时
旋转磁盘 I/O1-10 ms1-12 月
互联网:从旧金山到纽约40 ms4 年
互联网:从旧金山到英国81 ms8 年
轻量级硬件虚拟化重启100 ms11 年
互联网:从旧金山到澳大利亚183 ms19 年
操作系统虚拟化系统重启<1 s105 年
基于 TCP 定时器到重传1-3 s105-317 年
SCSI 命令超时30 s3 千年
硬件虚拟化系统重启40 s4 千年
物理系统重启5 m32 千年

正如你所见,1 个 CPU 周期的时间是很短暂的。0.5 米差不多是你的眼睛到这个页面的距离,光线走过这段距离需要的时间大约是 1.7 ns。在这段时间里,现代的 CPU 已经执行了 5 个 CPU 周期,处理了若干个指令。