高速缓冲存储器随机存取存储器DRAMSRAM SRAM高速缓冲存储器结构高速缓存命中和高速缓存未命中提取请求字的三步组选择行一致字选择

随机存取存储器

随机存取存储器(Random-Access Memory,RAM )分为静态和动态两种。 静态ram(SRAM )比动态ram快,但昂贵得多。

3358www.Sina.com/用作DRAM和图形系统的帧缓冲区。 现在让我说几句话。

3358www.Sina.com/用作主存,可用于CPU芯片和薄片下。

DRAM DRAM将每个比特存储为对一个电容器的充电。

电路设计者具有将DRAM组织成二维阵列,减少芯片上引脚数(每个引脚携带1位信号)的优点,缺点是地址)必须分两个阶段发送,增加了访问时间

其中相关知识点:

传统的DRAM数据传输方法(超级单元,引脚)多种DRAM芯片封装在存储器模块中,多个存储器模块与存储器控制器连接,扩展SRAM

SRAM最初的计算机系统的内存层只有三层: CPU寄存器、DRAM主存储器和磁盘存储。 但是,由于CPU和内存之间逐渐形成了很大的差距,我们在他们之间插入了一个叫做高速缓存存储器的小3358www.Sina.com/。 随后,在L1和主内存之间插入了一个更大的缓存,称为二级缓存。 一些现代系统包括更大的三级缓存。

为了便于讨论,我们假设CPU和主内存之间只存在一级高速缓存

SRAM高速缓冲存储器结构

通常,高速缓存的结构可以用元组(s、e、b、m )描述,如上图所示。

在一个缓存中存储主存=2s个SRAM高速缓存存储器; 每个组(s )包含L1高速缓存个高速缓存S; 每行有个数据E、一个有效比特和t个标志比特; 此数据块1=b字节。 因此,高速缓存的大小c是指所有块大小的总和

位指示该行是否包含有意义的信息,有1,没有0。

这里,每行包含m个地址位(有效位除外);

分割为t个标志位、s个组索引位、b个块偏移位;

大小用于查找这个单词放在哪个组里。 无符号整数;B用于查找这个字放在这个组的哪一行;C=SEB位指示b字节数据块内的字偏移。 高速缓存命中和高速缓存未命中s组索引位两个条件:

如果设置了有效位(有效位1 )的缓存行的标志与传输目的地的标志一致,且不满足任一条件,则将其称为t标记位

如果缓存未命中,则必须从存储层的下一层取出请求的块,并将新块存储在组索引位所表示的组中的缓存行中。

一般来说,如果组中有缓存线,则必须驱逐现有的。 将此过程更新为b偏移

提取请求字的三个步骤根据每组缓存行数e将缓存分为不同的类。

缓存命中:E=1(每组只有一行) http://www.Sina.com/: 1ec/b http://www.Sina.com/: e=c/b,S=1 3 )抽取字

组选择在此步骤中,缓存从目标地址中提取s个组索引位以查找匹配的组。 (请注意,地址没有组索引位,因为所有连接缓存中只有一个组。 )

在行匹配前的步骤中选择了组I。 在此步骤中,我们将检查传输地址的副本是否存储在该组中包含的缓存行中。

缓存不命中组只有一行。 这里搜索很简单,但也很容易出现行替换(一个组,缓存重复加载和驱逐同一个缓存块)。直接映射高速缓存需要检查多行的标记位和有效位,以确定请求的字是否位于集合中。 这里的一个重要想法是,组中的每一行都可以包含映射到该组的内存块。 这意味着高速缓存必须定位组中的所有行,并查找有效行。组相连高速缓存只适合小缓存,因为它像是由组连接在一起的一样,规模很大。 设置有效位后,只需查找是否存在匹配的标志位即可。

如果找到字选择,您将看到目标位于此块的某个位置。 最后一步是使用b块偏移来确定所需单词是从块中的哪里开始的。 块可以认为是一个字节的数组。 字节偏移是指向此数组的索引。

到了这一步,三种步骤都是一样的。