首页 > 编程知识 正文

高速缓冲存储器名词解释,计算机组成原理有什么用

时间:2023-05-05 13:36:49 阅读:164136 作者:680

高速缓冲存储器|| 什么是 cache ?cache是由静态随机存取存储器(SRAM )组成的小容量高速缓冲存储器。 它直接制作在CPU芯片内,运行速度与CPU几乎相同。 执行程序时,CPU使用的部分数据/指令预先复制到主存储器部分内容的图像cache中。 如果处理器需要从内存中读写数据或指令,请首先检查cache,如果有,直接从cache读取,而不访问主存储器。

实现cache机制需要解决的问题:

布洛克? 如何在主内存和高速缓存之间映射? cache的交换机制? 数据写入是如何一致的?|| Cache 映射将主存储区存储在大小相同的主存块(block)

在cache中存储一个主存储块的对应单位为槽(slot)或行(line)

缓存映射是将访问的本地主存储区域缓存,缓存行少于主存储块,多个主存储块映射为一个缓存行。

介绍以下三种映射方法。

直接映射(direct )每个主存块映射到cache的固定行

全相相关映射:每个主存块可装到cache任意一行中

组联接映射

|| 替换算法介绍几种淘汰战略。

1、先进先出 FIFO

第一个读取的内容将被替换

2、最近最少用 LRU

3、最不经常用 LFU

替换cache中引用次数最少的块。 LFU也通过与每行相关的计数器实现。

4、随机替换算法

无论使用情况如何,都要随机选择一行进行废弃。

例题:

http://www.Sina.com/http://www.Sina.com /

对于读取操作,我知道CPU读取操作的流程,但对于写入操作,Cache内容是主存内容的副本,因此当Cache内容更新时,主存不会更新。 有一个针对写入操作的策略,以便始终维护主存储器和Cache的内容。

写入操作时,如果写入命中,同时写入cache和主存储器; 写入失败时,有以下两种处理方法。

(1)写入分配法(write allocate )。 更新主存储区中对应的存储单元,然后分配cache行,并将更新的主存储区加载到分配的cache行中。 这种方式虽然能够充分利用空间的局部性,但是每次写入未命中时都需要从主存储器向cache读取块,从而增加了读取主存储器块的开销。

)非写分配法(not write allocate )。 只需更新主存储器单元而不加载到cache中,即可缩短读取主存储器块的时间,但空间局部性并未得到充分利用。

当然,为了减少写入主存储器的开销,通常在cache和主存储器之间添加写入缓冲区(write buffer )。 在CPU写入缓存的同时,信息也被写入写入缓冲区,写入缓冲区的内容由存储控制器写入主存储器。 写入缓冲区是FIFO队列,如果写入频繁,则写入缓冲区可能溢出。

|| 写策略

如果写入命中,则信息不会写入缓存,而是仅写入cache。 如果写入失败,则向cache分配行,将主存储块调用该cache行,并更新相应单元的内容。

当CPU执行写入操作时,写回方法不主动更新主存储单元,仅当cache行的主存储块被替换时,一次将该块的内容写回主存储单元。 这样会减少写入主存储器的次数,但可能会导致不一致。 如果不被替换,其内容和主存储器的内容就会不一致。 此外,该方法还需要在每个块中配置“脏位”。 脏位为1时表示存在写入操作,如果进行了替换,则必须更新主存储器块。

||多级缓存

||综合主题

如有错误,恭候您的指正。 (o ) _) o )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。