计算机缓存架构

从CPU到 大约需要的 CPU 周期 大约需要的时间
主存   约60-80纳秒
QPI 总线传输 (between sockets, not drawn)   约20ns
L3 cache 约40-45 cycles 约15ns
L2 cache 约10 cycles, 约3ns
L1 cache 约3-4 cycles 约1ns
寄存器 寄存器
  • 硬盘——机械装置,较慢(大约12毫秒,大小为1-10千兆字节)
  • 互联网——极慢(在1秒和3天之间,大小不限)

主内存被所有CPU共享;三级缓存被同一个插槽内的CPU所共享;单个CPU独享自己的一级、二级缓存,即高速缓存。CPU是真正做事情的地方,它会先从高速缓存中去获取所需的数据,如果找不到,再去三级缓存中查找,如果还是找不到最终就去会主内存查找,如果每一次都这样来来回回地取数据,那么无疑是非常耗时。如果能够把数据缓存到高速缓存中就好了,这样不仅CPU第一次就可以直接从高速缓存中命中数据,而且每个CPU都独占自己的高速缓存,多线程下也不存在临界资源的问题,这才是真正的低延迟.

  处理器              英特尔 Core i5-8250U @ 1.60GHz 四核
  速度                1.80 GHz (100 MHz x 18.0)
  处理器数量          核心数: 4 / 线程数: 8
  插槽/插座           U3E1
  一级数据缓存        4 x 32 KB, 8-Way, 64 byte lines
  一级代码缓存        4 x 32 KB, 8-Way, 64 byte lines
  二级缓存            4 x 256 KB, 4-Way, 64 byte lines
  三级缓存            6 MB, 12-Way, 64 byte lines
  特征                MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, HTT, EM64T, EIST, Turbo Boost

猜你喜欢

转载自blog.csdn.net/farmwang/article/details/84697902