CPU、内存与分布式

文章目录一、CPU与内存的硬件知识CPU的概念CPU与内存之间:Cache(高级缓存)多核CPU的内存共享问题(Cache一致性问题)Cache LineMESI协议缓存伪共享问题一、CPU与内存的硬件知识CPU的概念CPU:泛指,中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。Socket或者Pro...
摘要由CSDN通过智能技术生成

一、CPU与内存的硬件知识
CPU的概念
  • CPU:泛指,中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
  • Socket或者Processor:指一个物理CPU芯片,盒装的或者散装的,上面有很多针脚,直接安装在主板上。
  • Core:每个Socket里面的一个CPU核心,一个独立的计算单元。我们常说的4核CPU指的就是一个Socket里面有4个Core
  • Hyper-Threading:超线程技术,支持一个Core里并行执行两个线程。对于操作系统来说就相当于两个逻辑CPU。
CPU与内存之间:Cache(高级缓存)

CPU与内存之间的速度差了差不多100倍,所以CPU不可能直接与内存相连。中间过渡的缓冲区就是Cache。
Cache属于SRAM,内存属于DRAM。这两者的区别是SRAM更快、更小、电路更复杂和更贵。巨大差距的原因如下:

  • 存储1bit数据,DRAM需要1个电容和1个晶体管,而SRAM需要6个晶体管。DRAM数据存放在电容里,电容的充放电需要时间,所以比较慢。
  • SRAM的频率基本与CPU的频率保持一致,而DRAM会慢很多。
    Cache一般会集成在CPU里面。由于Cache很贵,所以一般采取金字塔形的多级缓存的方式,级数越高性能越低,但是容量越大。例如Intel Sandy Bridge架构的CPU,L1 Cache容量为64KB,L2 Cache容量为256KB,L3 Cache的容量为32MB。另外L3 Cache是Socket内部所有CPU共享的。
多核CPU的内存共享问题(Cache一致性问题)

多核CPU的内存共享问题,即多个CPU使用同一个内存时的数据一致性问题。每个CPU看到的Cache数据应该是一样的,如果不一样就可能发生数据错乱。
来自Intel的MESI协议是目前业界公认的解决Cache一致性问题的最佳方案。

Cache Line

首先要说一下缓存行的概念(Cache Line)。Cache Line 是Cache中的最小存储单位,Intel CPU一般为64B。当Cache 从内存中加载数据时,一次加载一条Cache Line的数据。为什么这么设计呢?因为CPU的速度远快于IO,一次读一个字节与一次读多个字节的速度差不多。另外数据访问一般具有连续性,需要某个字节很可能

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值