缓存和主存系统(Cache and Memory)
缓存和主存系统(Cache and Memory)
1、总览经典PC架构

用于建立后续联系各部件间的关联否则在讲解某一组件时往往缺乏对其在整个系统架构中的位置认知
观察上图产生的几个疑问:
缓存单元是否存放在CPU与主板之间?采用何种物理存储介质实现?(主板不大肯定无法提供大空间)
(2)DRAM(Memory)在哪里,又以什么介质形式存在?
先扔在这。
2、内存层次

ps:Tape虽然已经慢慢 retired,并不被视为一种广泛应用于存储介质的方式。(其主要缺陷在于运输过程中的易损性)

关注点:实现技术,管理方式,存取类型。
一个疑惑:随机存储中的随机是什么意思?
本篇接下来主要讲述两个部分(Cache and DRAM)
3、Cache Basics
Basic Concepts:

注意:主板上面的chip不只一片,chip主要分为南,北桥,以及cpu芯片。
Cache lines or Cache blocks


cache类型:

VM(虚拟内存)Virtual Memory

地址转换:




具体计算不是体系结构主要关注的(以后复习)
Optimizations
局部性原则:

时间局部性,空间局部性,算法局部性
注意:该算法具有独特性,在处理具备特定访问模式的数据集合时表现出显著特征。这些数据呈现出分布式特征,在这种情况下与时间局部性不同。我们无需深入探讨时空局部性的细节。
Reducing Miss Rate

必要性miss,即cold start miss(一开始访问的时候)
容量性miss:cache size不够。
conflict miss:当多个blocks被映射到同一个group中时,该集合内的lines不足(与容量miss存在显著差异)
两种降低miss rate的策略 :Miss caching && Victim Caching

缺陷:仍然因为将miss cache替换成导致引起conflict miss(这样miss cache的功能丧失了)

Miss Cache: 2-5 lines, 复制L2中的line同时存在L1和miss cache中。
Victim Cache: L1中被替换掉的line放在Victim中,并非miss cache
中的复制,存储备份。因为victim存储的数据是不一样的。
提高性能的另一种方式:Prefetching
**

**
Cache Write Policies:
hit:
Write back to cache only when it is evicted from that line, ensuring the data is written back to either disk or memory.
Write through:同时更新cache和memory。
miss:
Write-allocate:更新缓存
not write allocate:只修改lower-level memory

write buffer or write cache (tagless or tag)
buffer:不能定位数据在哪,在需要查找的时候只能全部先写回memory。
cache:可以定位,但是在写的时候开销大,因为需要指定位置。
-----------------------------------------------------------------------------
DRAM System(Main memory)
整体结构层次:
MC:片上的,on-chip,内存控制器。MC控制DIMM。
DIMM:(dual in-line memory module)由一个或多个Rank组成。
Rank:是一组DRAM devices。能够操作,用来对一个命令进行回应。
DRAM device由多个(比如8个)内部BANKS组成。
Bank通常被称为一组独立的内存块。它也被称为Memory Array(位于该DRAM device内部)。这些内存块是执行数据读写操作的基础单元。
所以,从上往下的层级依次是:(由MC控制)
DIMM--RANK----DRAM device--BANKS--DRAM arrays
即;

po一个侧面图:


MC分为单和多MC:

关于Bank中memory array的数量:(column width)




DRAM cell:1T1C
Row, Column交点存的就是数据。
1T1C DRAM cell structure.
一个晶体管一个电容。实现对01的存储和读写。
Sense Amps,放大感应器。
DRAM相当耗电。
**
**
**
**
