计算机体系结构4_分级缓存

简介:

一,处理器和内存系统结构

                                       

               主存在内存体系结构距离CPU最远端,缓存在内存体系结构距离CPU最近端。

               EU直接读取L1指令缓存,通过LSU读/写L1数据缓存,在LSU与L1数据缓存之间是write buffer,用于回写。 

               write buffer与write-combining buffers连接,后者通过系统总线与主存连接。

二,分级缓存

           

              L1缓存分为数据、指令两种类型,保存最近被使用的数据或指令。

              L2缓存一般不区分类型,包含指令和数据。L2缓存可以为exclusive模式,意味着它不缓存L1缓存的内容,或者为inclusive模式,保存L1缓存内容的一份拷贝。

三,内存操作

                  

                   内存读写都会先检查缓存中是否有需要的信息,当读的内容在缓存中时,为读命中,否则为读miss;当可以向缓存中写数据时,称作写命中,当数据不

                   能保存到缓存时为写miss。

                 

                   加载数据到缓存的操作叫做cache line填充,填充操作的单位为cache line。为新加载的cache line腾出空间,一次填充操作一般会引起移除一个已经存在

                   的cache line,移除已有cache line的操作叫做cache line replacement。如果被移除的cache line为modified状态,则先将其writeback回主存,然后在执行

                   cache-line-fill。

                  

                   通过cache line写回保证主存和缓存之间的一致性。处理器在处理内存请求时,会检查其他缓存和write buffer对请求信息的version,保证各缓存,write buffer

                   的一致性。

                   

                   当主存或缓存忙于处理其他内存访问时,write buffer用于暂存数据。


参考:

          AMD64 Architecture Programmer’s Manual Volume 2: System Programming

              

目录
相关文章
|
1月前
|
存储 缓存 数据处理
|
4月前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
173 10
|
4月前
|
存储 缓存 NoSQL
软件体系结构 - 缓存技术
【4月更文挑战第20天】软件体系结构 - 缓存技术
112 7
|
4月前
|
缓存 算法
LRU(Least Recently Used)算法是一种常用的计算机缓存替换算法
【5月更文挑战第4天】LRU算法是基于页面使用频率的缓存策略,优先淘汰最近最久未使用的页面。实现可采用双向链表或数组,前者灵活,后者时间复杂度低。优点是利用时间局部性提高命中率,简单易实现;缺点是占用空间,对循环访问和随机访问场景适应性不佳。
65 0
|
消息中间件 存储 缓存
计算机操作系统学习笔记(3)——CPU缓存一致性
计算机操作系统学习笔记(3)——CPU缓存一致性
212 0
|
存储 缓存 Unix
《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——导读
虽然高速缓存能够在多处理器中增加有效的存储器带宽,但是高速缓存结构对于管理它所需要的操作系统开销有很大的影响,这又反过来影响了系统的整体性能。
2006 0
|
缓存 Unix 程序员
《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——2.14 进一步的读物
本节书摘来自异步社区《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》一书中的第2章,第2.14节,作者:【美】Curt Schimmel著,更多章节内容可以访问云栖社区“异步社区”公众号查看
1543 0
|
存储 索引
9、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(1)
1、高速缓存存储结构 注:set(组) 组索引位告诉我们这个字必须存储在那个组中;然后A中t个标记位告诉我们这个组中的那一行(if any)包含这个字;当且仅当设置了有效位并且该行的标记位与地址A中的标记位相匹配时,组中的这一行包含这个字;确定行后,b个块偏移位给出了在B个字节的数据块中的字偏移。
1012 0
|
算法 数据格式 XML
10、深入理解计算机系统笔记:存储器层次结构,高速缓存存储器(2)
1、组相联高速缓存(set associative cache) 1 < E < C/B 2、全相联映射(fully associative cache) E = C/B 因为全相联高速缓存需要并行搜索许多相匹配的行,所以构造相对是困难的;因此只适合做小的高速缓存;如虚拟存储器系统中的TLB,它缓存页表项。
1229 0