高速缓冲存储器Cache的原理、设计及实现
cache介绍

cache介绍前⾯已多次提到了Cache,这可是⼀个讨⼈喜欢的东西,您有必要详细了解它的作⽤与原理。
Cache是介于CPU与主内存之间、或者主内存与磁盘之间的⾼速缓冲器,其作⽤是解决系统中数据读写速度不匹配的问题。
其中介于CPU与主内存之间的缓冲器⼜称为RAM Cache,⽽介于主内存与磁盘驱动器之间的缓冲器则称之为Disk Cache,这⾥要讨论的是前者,也就通常简称的Cache。
那么,Cache是怎样⼯作的呢?您⼀定明⽩CPU的运算速度⽐主内存的读写速度要快得多,这就使得CPU在访问内存时要花很长的等待时间,从⽽造成系统整体性能的下降。
为了解决这种速度不匹配的问题,需要在CPU与主内存之间加⼊⽐主内存更快的SRAM(Static Ram,静态存储器)。
SRAM储存了主内存中的数据(专业术语称为“映象”),使CPU可以直接通过访问SRAM来读写数据。
由于SRAM的速度与CPU的速度相当,因⽽⼤⼤缩短了数据读写的等待时间,系统的整体速度也就得到了提⾼。
既然SRAM那么快,为什么不⽤来作为主内存呢?这是因为SRAM采⽤了与CPU相类似的半导体制造⼯艺,成本极⾼,只有在那些只关⼼性能不考虑价格的场合才会这样做。
这也就使得Cache粉墨登场了,它能将CPU⽤过的数据,以及结果保存起来,让CPU下次处理时先来访问Cache,如果没有可⽤的数据再去别处找,以此来提⾼运⾏速度。
Cache由标记存储器和数据存储器两个基本部分组成。
标记存储器是⽤来储存Cache的控制位与块地址标签,控制位⽤于管理Cache的读写操作,⽽块地址标签则记录着Cache中各块的地址。
这个地址包含了与主内存映射的块地址,并且都与Cache中的⼀块“数据”相对应。
⽽这块“数据”正是贮存于Cache的数据存储器中。
当CPU读取数据时,先通过地址总线把物理地址送到Cache中,与Cache中的块地址标签进⾏对⽐。
若相符合,则表⽰此数据已经存在于Cache中(此情况被戏称为“命中”),这时只需把Cache中的对应数据经由数据总线直接传送给CPU即可。
5-1 存储系统 Cache_v1.0

计算机系统结构
层次之间应满足的原则
一致性原则
处在不同层次存储器中的同一个信息应保持相同的值。
包含性原则
处在内层的信息一定被包含在其外层的存储器中,反 之则不成立, 即内层存储器中的全部信息,是其相邻 外层存储器中一部分信息的复制品
北京信息科技大学
计算机系统结构
“Cache主存”和“主存辅存”层次
主存块地址 tag index
北京信息科技大学
计算机系统结构
直接映像方式
直接映像方式:是指主存的一个字块只能映像 到Cache中确定的一个字块。 举例 直接映像方式特点:
主存的字块只可以和固定的Cache字块对应,方式 直接,利用率低。 标志位较短,比较电路的成本低。如果主存空间有 2m块,Cache中字块有2c块,则标志位只要有m-c 位。而且在访问Cache时候仅需要比较一次 空间利用率最低,冲突概率最高,实现最简单。
计算机系统结构
现代计算机的层次存储器系统
利用程序的局部性原理:
以最低廉的价格提供尽可能大的存储空间 以最快速的技术实现高速存储访问
Processor Control Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk)
北京信息科技大学
计算机系统结构
Cache基本知识
高速缓冲存储器:在相对容量较大而速度较慢的主存与 高速处理器之间设置的少量但快速的存储器 基本工作原理:
把Cache和主存分成若干大小相同的块( block,行、线 line,槽slot ),Cache由块目录表及快速存储器组成 对主存地址,根据映象规则生成标签和索引;根据标签和 索引查找具体的Cache块 无(失效/缺失miss)则到主存取一个块的数据(遇到 Cache没有,空间则需要替换),并给处理器需要的部分 有(命中hit)则从Cache读取数据;如果是写入操作,需 考虑与主存数据保持一致(写入策略)
网络存储阵列中CACHE的设计

串入 消 费者 的相 应 队列 ,
1 留给操作系统使用,剩余的 内存就分配给 C H G AC E 模 块使用 。
v i*SoU ; odp tr p
用 于标 识上 一个请求} / /请求的回调
v i(d n) t c t R Q S ) od o e(r t a E _ ; su g
主 机
主 机
内存中的 6 %分配给数据组织予模块 C C E O G, A H R 9 % 分 配 给 为 系 统 提 供 4 页 面 内 存 管 理 的 4 K
B FPO U F O L子 模 块 。
R@o r e ¥ u l C AC】 I E
【 BS
RE S j Q- L
, 用 于 标 识 半
指 向 S L E T Y S 型数 组 G _N R _ 类 / u s nd n lnrS m; ni e ituE t u g y
SGL ENTRY
_ _
的数据 已经上传给主机 ,可以释放 R Q和 S L资源 E G
R aW fe线程 去 处 理对 应 的 R Q 请 求 , R a Wre ed i t E 在 ed i t
线程 中的处理流程如下; ()判 断 gpt eWaQuu 1 _ s q k e e读 写全局链表是否 _ R
为 空 ,如 果 读 为 空 ,则 处 理 写冲 突 ,写 操 作产 生 的 冲
l C C E A H 在存储阵列 中的作用
1 . 1存储应用系统中的业务流程 图 1是一种 典型的存储应用系统 中的写业务数据
流程 图。左边部分代表 了数据在主机 上的流 向,然后 通过 F C协议 或 iC I S S 协议或 S S协议传输 到存储阵 A 列,经 过 F C或 iC I S S协议前端一直送到底层 S S或 A
cache结构与操作.ppt

e tc
tc
11
ta htc (1 h)tm h (1 h)r r (1 r)h
(4-4)
其中,r=tm/tc,表示访问主存慢于访问 Cache的倍率。r的取值一般是5-10 。
例【4-1】设CPU执行一般程序时,访问 Cache次数Nc=1500,访问主存次数Nm=90,又假 设访问Cache存取周期为50ns,访问主存存取周期 为300ns,试求h、r、ta以及e的值
存储器系统的层次关 系
2、Cache命中率
从微机系统来看,增加Cache的目 的,就是要在性能上使主存的平均访问 时间尽可能接近Cache的访问时间,即 保证在大多数情况下,CPU访问Cache, 而不是访问主存。
在 某 一 程 序 执 行 期 间 , 设 Nc 表 示 CPU 访 问 Cache 的 总 次 数 , Nm 表 示 CPU 访 问 主 存 的 总 次数,h为命中率,则
·优点:灵活,不易产生冲突; 缺点:比较电路难于实现,且效率低,速度慢
• 例:设访问存储器地址的块号序列为22、26、 22、26、16、4、16、18,采用全相联映射方 式时,Cache行分配情况
2.直接映射方式
某一主存块只能能映射到Cache的特定行
i = j mod m 其中: i:Cache的行号; j:主存的块号; m:Cache的总行数
解:
h Nc 1500 0.943
N cNm 1500 90
r tm 300 ns 6 tc 50ns
ta=htc+(1-h)tm=0.943×50ns+(1-0.943)×300ns=64.25ns
e tc 50ns 77.82% ta 64.25ns
4.6.2 Cache组织方式
什么是Cache

什么是CacheCache”是什么Cache(即高速缓冲存储器(Cache Memory),是我们最常听到的一个词了。
在老鸟们眼中,这个词或许已没有再谈的必要,因为他们对Cache从设计的必要性到工作原理、工作过程等等都已了如指掌了;而对菜鸟朋友们而言,这些未必就很清楚。
那么,它们到底是指的什么呢?不用急,下面就请随笔者一起来全面认识Cache。
为什么要设计Cache我们知道,电脑的内存是以系统总线的时钟频率工作的,这个频率通常也就是CPU的外频(对于雷鸟、毒龙系列的处理器,由于在设计采用了DDR技术,CPU 工作的外频为系统总线频率的两倍)。
但是,CPU的工作频率(主频)是外频与倍频因子的乘积。
这样一来,内存的工作频率就远低于CPU的工作频率了。
这样造成的直接结果是:CPU在执行完一条指令后,常常需要“等待”一些时间才能再次访问内存,极大降了CPU工作效率。
在这样一种情况下,Cache就应运而生了!Cache是什么Cache是一种特殊的存储器,它由Cache 存储部件和Cache控制部件组成。
Cache 存储部件一般采用与CPU同类型的半导体存储器件,存取速度比内存快几倍甚至十几倍。
而Cache 控制器部件包括主存地址寄存器、Cache 地址寄存器,主存—Cache地址变换部件及替换控制部件等。
至于它们各自又是怎样工作的、有何作用等等,我想我们就没有必要做进一步的研究,知道一般Cache分为L1 Cache(其中又分为数据Cache、代码Cache)、L2 Cache就行了。
Cache是怎样工作的我们知道,CPU运行程序是一条指令一条指令地执行的,而且指令地址往往是连续的,意思就是说CPU在访问内存时,在较短的一段时间内往往集中于某个局部,这时候可能会碰到一些需要反复调用的子程序。
电脑在工作时,把这些活跃的子程序存入比内存快得多的Cache 中。
CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中”,此时CPU直接从Cache中调用该内容;否则,就称为“不命中”,CPU只好去内存中调用所需的子程序或指令了。
计算机组成原理 第17讲_Cache

… …
m-1
盛建伦jlsheng@
直接映射 Direct Mapping 若 Cache有m行,每行n字,主存有2S块, S— r位 主存地址(S+w位) Cache地址(r+w位) 标志Tag r位 行地址Line 行地址Line 选中1行 Cache的 内容 Tag 字0 字1 设 m=2r ,n=2W w位 字地址Word 字地址Word 选中行内1个字 …… 字 n-1
From Processor 主存地址 块号 已装不进 Cache 替换策略 块内地址
地址总线
若Cache已满,则按 照某种替换策略把该 行替换进Cache。 CPU访问Cache, 每次1个字。
Miss
Hit 装入 Cache 1行 主存- Cache 地址映射变换机构 Cache地址
Address Mapping
主存地址
地址总线
块号
已装不进 Cache
块内地址
Miss Hit 装入 Cache
主存- Cache 地址映射变换机构 Cache地址
Address Mapping
替换策略
块 号 块内地址
主存
直接通路
1行
Cache
1个字
To Processor
数据总线
主存-Cache地址映射变换机构将处理机发出的主存地址变换 成Cache地址,判定该字所在行是否在Cache中。 如果在Cache中,称为命中Hit,则访问Cache。 如果不在Cache中,称为不命中Miss(块失效),则访问主存。 同时,将包含该字的一行装入Cache。
装入 Cache 主存- Cache 地址映射变换机构 Cache地址
Address Mapping
cache计算机组成原理

cache计算机组成原理小伙伴们!今天咱们来唠唠计算机组成原理里超级有趣的一个东西——Cache(高速缓冲存储器)。
你可以把计算机想象成一个超级大的办公室。
这里面有各种各样的员工(部件)在忙忙碌碌地干活。
而Cache呢,就像是办公室里最机灵的小秘书。
为啥这么说呢?你想啊,CPU(中央处理器)这个大老板,每天都要处理好多好多的数据,就像大老板每天要做各种决策一样。
这些数据呢,原本是放在内存这个大仓库里的。
可是呀,内存离CPU有点远,每次CPU要找个数据,就像大老板要从老远的大仓库里找个文件一样,特别费时间。
这时候,Cache就闪亮登场啦。
Cache这个小秘书特别聪明,它就在CPU的身边,离得超级近。
它就像有个超能力,会提前猜一猜CPU这个大老板接下来可能会用到哪些数据。
然后呢,它就偷偷地从内存这个大仓库里把那些可能会用到的数据拿过来,放在自己这里。
当CPU说:“我要找个数据啦。
”Cache就会特别快地说:“老板,你要的是不是这个呀?”然后一下子就把数据给CPU了。
这速度,就像闪电一样快。
Cache这个小秘书呀,它的存储空间可没有内存那么大。
它就像是一个小巧精致的文件柜,虽然装不了太多东西,但是放的都是最最常用的文件。
比如说,你每天都要用到的办公软件的一些小设置之类的。
它把这些常用的数据放在身边,就为了能让CPU快速拿到。
那Cache是怎么知道哪些数据是常用的呢?这就像是小秘书有自己的小秘诀。
它会根据数据被访问的频率呀,还有一些算法来判断。
就好像小秘书会观察,哪些文件大老板经常看,哪些偶尔才看一次。
经常看的就牢牢放在自己身边的小文件柜里,不常看的就先放一边。
有时候呀,也会出点小状况。
比如说,Cache以为CPU会用到某个数据,就把它从内存里拿过来了,结果CPU要的是另外一个数据。
这就像小秘书猜错了大老板的心思。
不过没关系呀,Cache会很快调整自己的策略,再去内存里找正确的数据。
而且呢,Cache还有不同的级别。
高速缓冲存储器Cache简介

高速缓冲存储器Cache简介○王军评估计算机的主要性能指标之一是运行速度。
计算机的程序是在C PU中执行的,而平时程序和数据则存放在存储器中。
存储器分为外部存储器(如软盘、硬盘、磁带等)和内部存储器。
外部存储器容量大,速度慢,内部存储器容量小,速度快。
内存的使用在一定程度上解决了高速C PU和慢速存储设备之间速度上的矛盾。
但C PU和内存之间仍然存在速度上不匹配的矛盾。
为充分利用C PU的运行速度。
在C PU和内存之间又引入了高速缓冲存储器(C ac he)。
一、Cache的基本概念高速缓冲存储器Ca che是位于C PU和主存储器之间容量小而速度快的存储器,通常由SR AM(静态R A M)组成。
随着微电子技术和计算机技术的发展,CPU的工作频率越来越高,DR AM(动态R A M)可以用最低的价格和最小的体积提供更大的存储器空间,但是DR AM的速度难以满足C PU 的要求,因而访问系统存储器时都要插入等待周期,这对高速C PU来说是一种极大的浪费。
采用C ache技术是一种现实的解决问题的方法。
S R AM可以提供最高的总线性能。
由S R AM组成的C ac he即是把主存储器看作是高速存储器而设置的小容量局部存储器,这种高速存储器是面向C PU工作的存储器,存储C PU常用的数据和代码,Ca che的有效性是利用了程序对存储器的访问在时间和空间上具有局部区域性的特性,即对大多数程序来说,在某个时间片内会集中重复地访问某一个特定的区域。
C ac he通常由相联存储器实现。
相联存储器的每一个存储块都具有额外的存储信息,称为标签(T a g)。
当访问相联存储器时,将地址和每一个标签同时进行比较,从而对标签FRA M E E t h er n et—I IFRA M E E t h er n et—SNA PN e t W ar e DO S Requ es t erFI R ST N E TW O RK D RI V E=FN ET W A R E PR O TO CO L=N D S BI N D此时假设使用N E2000网卡,中断号为5,端口地址为300。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速缓冲存储器Cache的原理、设计及实现 前 言 虽然CPU主频的提升会带动系统性能的改善,但系统性能的提高不仅仅取决于CPU,还与系统架构、指令结构、信息在各个部件之间的传送速度及存储部件的存取速度等因素有关,特别是与CPU/内存之间的存取速度有关。若CPU工作速度较高,但内存存取速度较低,则造成CPU等待,降低处理速度,浪费CPU的能力。如500MHz的PⅢ,一次指令执行时间为2ns,与其相配的内存(SDRAM)存取时间为10ns,比前者慢5倍,CPU和PC的性能怎么发挥
出来?
如何减少CPU与内存之间的速度差异?有4种办法:一种是在基本总线周期中插入等待,这样会浪费CPU的能力。另一种方法是采用存取时间较快的SRAM作存储器,这样虽然解决了CPU与存储器间速度不匹配的问题,但却大幅提升了系统成本。第3种方法是在慢速的DRAM
和快速CPU之间插入一速度较快、容量较小的SRAM,起到缓冲作用;使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高,这就是Cache法。还有一种方法,采用新型存储器。目前,一般采用第3种方法。它是PC系统在不大增加成本的前提下,使性能提升的一个非常有效的技术。
本文简介了Cache的概念、原理、结构设计以及在PC及CPU中的实现。 Cache的工作原理 Cache的工作原理是基于程序访问的局部性。 对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。 根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用。这对提高程序的运行速度有很大的作用。这个介于主存和CPU之间的高速小容量存储器称作高速缓冲存储器(Cache)。 系统正是依据此原理,不断地将与当前指令集相关联的一个不太大的后继指令集从内存读到Cache,然后再与CPU高速传送,从而达到速度匹配。CPU对存储器进行数据请求时,通常先访问Cache。由于局部性原理不能保证所请求的数据百分之百地在Cache中,这里便存在一个命中率。即CPU在任一时刻从Cache中可靠获取数据的几率。命中率越高,正确获取数据的可靠性就越大。一般来说,Cache的存储容量比主存的容量小得多,但不能太小,太小会使命中率太低;也没有必要过大,过大不仅会增加成本,而且当容量超过一定值后,命中率随容量的增加将不会有明显地增长。只要Cache的空间与主存空间在一定范围内保持适当比例的映射关系,Cache的命中率还是相当高的。一般规定Cache与内存的空间比为4:1000,即128kB Cache可映射32MB内存;256kB Cache可映射64MB内存。在这种情况下,命中率都在90%以上。至于没有命中的数据,CPU只好直接从内存获取。获取的同时,也把它拷进Cache,以备下次访问。
Cache的基本结构 Cache通常由相联存储器实现。相联存储器的每一个存储块都具有额外的存储信息,称为标签(Tag)。当访问相联存储器时,将地址和每一个标签同时进行比较,从而对标签相同的存储块进行访问。Cache的3种基本结构如下: 全相联Cache 在全相联Cache中,存储的块与块之间,以及存储顺序或保存的存储器地址之间没有直接的关系。程序可以访问很多的子程序、堆栈和段,而它们是位于主存储器的不同部位上。因此,Cache保存着很多互不相关的数据块,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有地址加以比较,进行确认。这种Cache结构的主要优点是,它能够在给定的时间内去存储主存器中的不同的块,命中率高;缺点是每一次请求数据同Cache中的地址进行比较需要相当的时间,速度较慢。
表1 pc中部分已实现的cache技术 系统 l0 l1cache l2cache l3cache cache 主存储器 8088 无 无 无 无 无 dram 80286 无 无 无 无 无 dram 80386dx 无 外部sram 无 无 sram dram 80486dx 无 内部8kb 外部sram 无 sram dram pentium 无 内部8kb+8kb 外部sram 无 sram dram ppro 无 内部8kb+8kb 内部封装256kb或512kb 无 sram dram mmx 无 内部16kb+16kb 外部sram 无 sram dram pⅡ/pⅢ 无 内部16kb+16kb 卡上封装512kb~1mb 无 sram dram
k6-Ⅲ 内部32kb+32kb 芯片背上封装256kb 外部1mb sram dram
直接映像Cache 直接映像Cache不同于全相联Cache,地址仅需比较一次。在直接映像Cache中,由于每个主存储器的块在Cache中仅存在一个位置,因而把地址的比较次数减少为一次。其做法是,为Cache中的每个块位置分配一个索引字段,用Tag字段区分存放在Cache位置上的不同的块。单路直接映像把主存储器分成若干页,主存储器的每一页与Cache存储器的大小相同,匹配的主存储器的偏移量可以直接映像为Cache偏移量。Cache的Tag存储器(偏移量)保存着主存储器的页地址(页号)。以上可以看出,直接映像Cache优于全相联Cache,能进行快速查找,其缺点是当主存储器的组之间做频繁调用时,Cache控制器必须做多次转换。
组相联Cache 组相联Cache是介于全相联Cache和直接映像Cache之间的一种结构。这种类型的Cache使用了几组直接映像的块,对于某一个给定的索引号,可以允许有几个块位置,因而可以增加命中率和系统效率。 Cache与DRAM存取的一致性 在CPU与主存之间增加了Cache之后,便存在数据在CPU和Cache及主存之间如何存取的问题。读写各有2种方式。 贯穿读出式(Look Through) 该方式将Cache隔在CPU与主存之间,CPU对主存的所有数据请求都首先送到Cache,由Cache自行在自身查找。如果命中,则切断CPU对主存的请求,并将数据送出;不命中,则将数据请求传给主存。该方法的优点是降低了CPU对主存的请求次数,缺点是延迟了CPU对主存的访问时间。 旁路读出式(Look Aside) 在这种方式中,CPU发出数据请求时,并不是单通道地穿过Cache,而是向Cache和主存同时发出请求。由于Cache速度更快,如果命中,则Cache在将数据回送给CPU的同时,还来得及中断CPU对主存的请求;不命中,则Cache不做任何动作,由CPU直接访问主存。它的优点是没有时间延迟,缺点是每次CPU对主存的访问都存在,这样,就占用了一部分总线时间。 写穿式(Write Through) 任一从CPU发出的写信号送到Cache的同时,也写入主存,以保证主存的数据能同步地更新。它的优点是操作简单,但由于主存的慢速,降低了系统的写速度并占用了总线的时间。 回写式(Copy Back) 为了克服贯穿式中每次数据写入时都要访问主存,从而导致系统写速度降低并占用总线时间的弊病,尽量减少对主存的访问次数,又有了回写式。它是这样工作的:数据一般只写到Cache,这样有可能出现Cache中的数据得到更新而主存中的数据不变(数据陈旧)的情况。但此时可在Cache 中设一标志地址及数据陈旧的信息,只有当Cache中的数据被再次更改时,才将原更新的数据写入主存相应的单元中,然后再接受再次更新的数据。这样保证了Cache和主存中的数据不致产生冲突。 Cache的分级体系设计 微处理器性能由如下几种因素估算: 性能=k(fⅹ1/CPI-(1-H)ⅹN) 式中:k为比例常数,f为工作频率,CPI为执行每条指令需要的周期数,H为Cache的命中率,N为存储周期数。 虽然,为了提高处理器的性能,应提高工作频率,减少执行每条指令需要的周期数,提高Cache的命中率。同时分发多条指令和采用乱序控制,可以减少CPI值;采用转移预测和增加Cache容量,可以提高H值。为了减少存储周期数N,可采用高速的总线接口和不分块的Cache方案。以前提高处理器的性能,主要靠提高工作频率和提高指令级的并行度,今后则主要靠提高Cache的命中率。设计出无阻塞Cache分级结构。 Cache分级结构的主要优势在于,对于一个典型的一级缓存系统的80%的内存申请都发生在CPU内部,只有20%的内存申请是与外部内存打交道。而这20%的外部内存申请中的80%又与二级缓存打交道。因此,只有4%的内存申请定向到DRAM中。 Cache分级结构的不足在于高速缓存组数目受限,需要占用线路板空间和一些支持逻辑电路,会使成本增加。综合比较结果还是采用分级Cache。 L1 Cache的设计有在片一级分离和统一设计两种方案。 Intel、AMD、原DEC等公司将L1 Cache设计成指令Cache与数据Cache分离型。因为这种双路高速缓存结构减少了争用高速缓存所造成的冲突,改进了处理器效能,以便数据访问和指令调用在同一时钟周期内进行。 但是,仅依靠增加在片一级Cache的容量,并不能使微处理器性能随之成正比例地提高,还需设置二级Cache。 在L1 Cache结构方面,一般采用回写式静态随机存储器(SRAM)。目前,L1 Cache容量有加大的趋势。 L2 Cache的设计分芯片内置和外置两种设计。 如AMD K6-3内置的256kB L2 Cache与CPU同步工作。外置L2 Cache,一般都要使二级Cache与CPU实现紧密耦合,并且与在片一级Cache形成无阻塞阶层结构。同时还要采用分离的前台总线(外部I/O总线)和后台总线(二级Cache总线)模式。显然,将来随着半导体集成工艺的提高,如果CPU与二级Cache集成在单芯片上,则CPU与二级Cache的耦合效果可能更佳。 由于L2 Cache内置,因此,还可以在原主板上再外置大容量缓存1MB~2MB,它被称为L3 Cache。 PC中的Cache技术的实现 PC中Cache的发展是以80386为界的。主要内容请参见“跟着CPU的脚步”一文。 目前,PC中部分已实现的Cache技术如表1所示。 结 语 目前,PC系统的发展趋势之一是CPU主频越做越高,系统架构越做越先进,而主存DRAM的结构和存取时间改进较慢。因此,Cache技术愈显重要,在PC系统中Cache越做越大。广大用户已把Cache做为评价和选购PC系统的一个重要指标。本文小结了Cache的源脉。希望可以给广大用户一个较系统的参考。