- 什么是RAM? 随机读写存储器
RAM = SRAM + DRAM;
当cpu读取主存时,将地址信号放到地址总线上传给主存,主存读到地址信号后,解析信号并定位到指定存储单元,然后将此存储单元数据放到数据总线上返回给cpu。 - 什么是MESI?
MESI 为了保证多个缓存中共享数据的一致性,定义了 cache line 的四种状态,而线程对 cache line 的四种操作可能会产生不一致的状态,因此缓存控制器监听到本地操作和远程操作的时候,需要对地址一致的 cache line 状态进行一致性修改,从而保证数据在多个缓存之间保持一致性。(M: modified E: Exclusive S: shared I: invalid)CPU 中每个缓存行(caceh line)使用 4 种状态进行标记(使用额外的两位(bit)表示)。
MESI出现之前的解决缓存一致性的方案是总线锁机制,这种解决方案效率低,锁住总线期间,其他CPU无法访问内存。在 CPU 中为了提高运行效率,加了多级缓存和乱序执行优化。加了多级缓存之后呢,会出现缓存不一致的情况,解决的办法就是定义了 MESI 等类似协议。 - 什么是内存屏障?
对乱序执行优化带来的问题,cpu选择内存屏障来解决,即定义了一套指令集,什么样的指令不能执行乱序 优化。
计算机缓存机制cache
最新推荐文章于 2024-07-03 15:24:05 发布