计算机体系结构6_缓存结构

简介:

一,缓存结构

        下图为一个n-way set-associative cache 结构图:

                                         

                    缓存组织为cache line数组的形式,每一个cache line由三部分组成,内存数据,tag,其他信息。

                    多个cache line一行,组成一个set,一列cache line为way,在n-way set-associative cache中,每个set由n个cache line

                    组成,例如一个4-way set-associative cache,每个set由4个cache line组成,每个way一个cache line。

二,缓存索引

                                     

                        通过物理地址获取数据或指令在缓存中的位置(set, way, byte),每个物理地址被分为三部分:

                              Index,选择缓存的行(set),同一行中的所有cache line通过index域选择。

                              tag,选择一行(set)中特定的cache line,物理地址的tag域与每个cache line的tag域进行比较,如果匹配,则发出cache hit信号

                             ,选择此cache line,否则发出cache miss信号。

                              offset,物理地址在cache line中的第一个byte,数据或指令从此byte的位置读取。

三,fully associative cachedirect-mapped schemeset-associative scheme

                direct mapped, if each entry in main memory can go in just one place in the cache, the cache is .

                fully associative, If the replacement policy is free to choose any entry in the cache to hold the copy.

                N-way set associative, Many caches implement a compromise in which each entry in main memory can go to any one of N places in the cache.

                因此2-way set associative意味着,主存中的任意一个entry在缓存中有两个可以保存的位置。

                                                 


       参考:

               AMD64 Architecture Programmer’s Manual Volume 2: System Programming

目录
相关文章
|
3月前
|
存储 缓存 数据处理
计算机硬件存储器中的缓冲与缓存
【8月更文挑战第2天】
231 5
|
6月前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
183 10
|
6月前
|
存储 缓存 NoSQL
软件体系结构 - 缓存技术
【4月更文挑战第20天】软件体系结构 - 缓存技术
135 7
|
6月前
|
缓存 算法
LRU(Least Recently Used)算法是一种常用的计算机缓存替换算法
【5月更文挑战第4天】LRU算法是基于页面使用频率的缓存策略,优先淘汰最近最久未使用的页面。实现可采用双向链表或数组,前者灵活,后者时间复杂度低。优点是利用时间局部性提高命中率,简单易实现;缺点是占用空间,对循环访问和随机访问场景适应性不佳。
88 0
|
6月前
|
存储 缓存 Windows
探秘磁盘的奥秘:物理结构、缓存和虚拟内存的作用
本文介绍了磁盘的物理结构、磁盘缓存和虚拟内存的重要性,并解释了它们在计算机系统中的作用。了解磁盘的物理结构可以帮助我们更好地理解数据的存储和访问过程,从而进行系统优化和性能提升。磁盘缓存和虚拟内存则能够提高数据读取速度和运行程序的能力。深入了解这些知识,将为您的计算机系统带来更好的性能和效率。
302 1
|
6月前
|
存储 缓存 算法
【数据结构-链表 八】【链表模拟】模拟设计LRU缓存结构
【数据结构-链表 八】【链表模拟】模拟设计LRU缓存结构
68 0
|
存储 缓存 编译器
从CPU缓存结构到原子操作-2
从CPU缓存结构到原子操作
124 0
|
存储 缓存 算法
从CPU缓存结构到原子操作-1
从CPU缓存结构到原子操作
148 0
|
消息中间件 存储 缓存
计算机操作系统学习笔记(3)——CPU缓存一致性
计算机操作系统学习笔记(3)——CPU缓存一致性
239 0
|
存储 设计模式 缓存
C# 实现 key-value 结构自定义缓存 CustomCache
C# 实现 key-value 结构自定义缓存 CustomCache
182 1
C# 实现 key-value 结构自定义缓存 CustomCache