缓存和主存系统(Cache and Memory)

                                缓存和主存系统(Cache and Memory)

1、总览经典PC架构

缓存和主存系统(Cache and Memory)_第1张图片

用于后续联系各个部件之间的关系,不然经常讲完某个部件却不知道在整个系统中的位置。

观察上图产生的几个疑问:

(1)cache在cpu和主板上?以什么介质形式存在?(主板不大肯定无法提供大空间)

(2)DRAM(Memory)在哪里,又以什么介质形式存在?

先扔在这。

2、内存层次

缓存和主存系统(Cache and Memory)_第2张图片

ps:Tape虽然已经慢慢退伍,但还是一项比较常用的存储方式。(最大的缺点就是运输过程中易损坏)

缓存和主存系统(Cache and Memory)_第3张图片

关注点:实现技术,管理方式,存取类型。

一个疑惑:随机存储中的随机是什么意思?

本篇接下来主要讲述两个部分(Cache and DRAM)

3、Cache Basics

Basic Concepts:

缓存和主存系统(Cache and Memory)_第4张图片

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

Cache lines or Cache blocks

缓存和主存系统(Cache and Memory)_第5张图片

缓存和主存系统(Cache and Memory)_第6张图片

cache类型:

缓存和主存系统(Cache and Memory)_第7张图片

VM(虚拟内存)Virtual Memory

缓存和主存系统(Cache and Memory)_第8张图片

地址转换:

缓存和主存系统(Cache and Memory)_第9张图片

缓存和主存系统(Cache and Memory)_第10张图片


缓存和主存系统(Cache and Memory)_第11张图片

缓存和主存系统(Cache and Memory)_第12张图片

具体计算不是体系结构主要关注的(以后复习)

Optimizations

局部性原则:

缓存和主存系统(Cache and Memory)_第13张图片

时间局部性,空间局部性,算法局部性

注意:其中算法局部性比较特殊,它是对一些访问数据有一定规律的程序(这些数据又是呈现分布式的,否则就是时间局部性了)。至于时空局部性就很好理解了。

Reducing Miss Rate

缓存和主存系统(Cache and Memory)_第14张图片

必要性miss,即cold start miss(一开始访问的时候)

容量性miss:cache size不够。

冲突性miss:多个block映射到同一组导致set里面line不够(和容量性miss有一定的区别)

两种降低miss rate的策略:Miss caching && Victim Caching

缓存和主存系统(Cache and Memory)_第15张图片

缺点:还是会由于将miss cache替换导致conflict miss(这样miss cache的作用就没有了)

缓存和主存系统(Cache and Memory)_第16张图片

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

提高性能的另一种方式:Prefetching

缓存和主存系统(Cache and Memory)_第17张图片

Cache Write Policies:

hit:
Write back:只更新cache,但是在该line被驱逐的时候要将该数据写回disk或者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

即;

缓存和主存系统(Cache and Memory)_第18张图片

po一个侧面图:

缓存和主存系统(Cache and Memory)_第19张图片


MC分为单和多MC:

缓存和主存系统(Cache and Memory)_第20张图片

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

缓存和主存系统(Cache and Memory)_第21张图片




DRAM cell:1T1C

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




你可能感兴趣的:(计算机体系结构)