美文网首页
硬件和操作系统

硬件和操作系统

作者: watermountain | 来源:发表于2021-02-16 17:01 被阅读0次

    缓存一致性协议

    多核CPU的Cache中,某些数据Cache后,数据在“写入”和“读取”的时候必须满足一些规范,通常叫作“缓存一致性协议”。
    使用这种规范来实现架构,以满足多个CPU对同一个变量修改时,相互之间都是知道的。
    当有来自于内存的同一份数据Cache在多个CPU中,且要求这些数据的读写一致时,多个CPU之间就需要遵循缓存共享的一致性协议
    内存单元有修改(Modified)、独占(Exclusive)、共享(Shared)、失效(Invalid)4个状态,多个CPU通过总线连接,每个CPU的Cache处理器除了要去响应本身所对应的CPU的读写操作外,还需要监听总线上其他CPU的读写操作,通过监听对自己的Cache做相应的处理,形成了一种虚共享,这个协议叫作MESI协议。
    一个CPU加载一块内存是专用的;
    当另一个CPU也加载了同一块内存时,那么此时两个CPU持有的信息将处于共享状态。
    两者的区别是:CPU加载数据前是否监听到“读”广播;当发生写操作时会先尝试发起写广播(此时若有读,则会有一个优先问题),这个广播则会改掉数据,并且相应的其他CPU监听到数据被修改后,则会将自己的相应拷贝设置为失效状态。

    一个数据修改了,需要告诉其他的CPU这份数据被修改。Intel的微架构技术时QPI(快速通道互联),又名CSI,公共系统接口。
    CPU之间的交互是有一个时间差的,通常在20ns~40ns级别,频繁的交互会导致系统性能下降,而且CPU的使用量会飙高。

    Cache Line

    将“一段连续的内存区域”进行Cache。通常以64字节为单位进行Cache操作。

    上下文切换

    相关文章

      网友评论

          本文标题:硬件和操作系统

          本文链接:https://www.haomeiwen.com/subject/elyuaktx.html