APP下载

计算机系统中不同组织方式的Cache性能分析

2012-12-25朱保锋

关键词:命中率存储器示例

朱保锋,蔡 艳

(1.郑州大学信息工程学院,河南郑州 450052;2.河南教育学院信息技术系,河南郑州 450046)

计算机系统中不同组织方式的Cache性能分析

朱保锋1,2,蔡 艳2

(1.郑州大学信息工程学院,河南郑州 450052;2.河南教育学院信息技术系,河南郑州 450046)

分析了Cache的原理,分别从命中率、硬件实现、使用环境等方面对3种Cache组织方式的性能进行了分析比对.

局部性原理;Cache;组织方式;命中率;性能分析

Cache即高速缓冲存储器,位于CPU和主存之间,容量小速度快,是为了解决CPU和主存速度不匹配而采用的一项技术,通常由SRAM构成[1].文章结合Cache的3种组织方式,从几个方面对Cache的性能进行了分析对比.

1 Cache的命中率

在程序的执行过程中,处理器访问存储器中的指令和数据通常是成块访问,在一长段时间内,使用的块是变动的,而在一小段时间内,处理器主要访问存储器中固定的块[2-3].因此可以在Cache中存放主存的部分副本,当CPU访问主存时,首先判断该内容在不在Cache中.如果命中,CPU就直接从Cache存取数据.如果未命中,CPU要访问主存,同时要将主存中的相应数据调入Cache.Cache的命中率越接近1,CPU访问主存的速度越接近于CPU访问Cache的速度.总体来说,Cache的命中率和Cache的大小、Cache的组织方式、Cache的控制算法有关.

图1 全相联Cache结构示例Fig.1 Sample of the Cache structure of full association

2 Cache的组织方式

按照Cache和主存之间的映射关系,主存有3种组织方式[4]:①全相联方式,主存中的某块可以放入Cache的任意一个位置;②直接映射方式,主存的块和Cache的行之间具有多对一的关系,主存的某块在Cache中有唯一的存放位置;③组相联方式,是前两种方式的一个折中,主存的某块在Cache中可以有相对多个位置可以存放.

2.1 全相联方式

设Cache为8 KB,每行128 B,共64行.主存1 MB,共8 M块,如图1所示.由于主存的行和Cache的块之间没有算法约定,Cache的行除了要存储主存的块内容外,还要将对应块的13位块地址作为标记(tag)存储起来.Cache有128 B*64=8 KB,用来存储标记字段的相联存储器(CAM)的容量为13 bit×64=832 bit.

在全相联方式中,主存的每一块,在Cache中都有64个位置可以存放,比较灵活,并且降低了块冲突率,命中率也较高.当CPU发送一个主存地址后,主存地址的高13位块地址要和Cache相联存储器中的64个行标记做比较,共有65组数据参与,这样的比较器在硬件上较难设计和实现.如果Cache块数减少,可以减小比较器的复杂度,因此全相联方式适合容量小的Cache.由于主存地址除去7位块内地址,剩余为标记字段,标记字段较长,需要容量较大的CAM.

2.2 直接映射方式

该方式将主存按照Cache的大小分区,则主存地址由3部分构成,分别是区号、区内块号、块内地址.假设主存1 MB,配备的Cache大小为8 KB,每块128 B,则主存的区号为17位,将区号作为标记(flag),区内块号为6位,其余为块内地址(图2).

对于主存某一区的一块,假设块号为m(0≤m≤63),只能调入Cache的m(0≤m≤63)块中,位置是唯一的.当CPU发送一个20位的主存地址时,假设为FE0FFH,工作过程如下:

(1)根据地址中7~12位的块号01H找到Cache行号为01H的行;

(2)Cache控制器将高7位7FH和相联存储器中行号为01H的标记做比较,确定该字是否在Cache中;

(3)如果在则命中,找到该字直接读取;

(4)否则未命中,CPU从主存中读取该字,并且将该字所在的块调入行号为01H的Cache中,并将相联存储器中的标记字段改为7FH.

主存中的块在Cache中的位置是唯一的,冲突率较大,如果CPU频繁访问不同区的第m块,就会出现频繁的置换,导致命中率降低.基于访问的局部性原理,可以增加Cache的行数,减少冲突,适合大容量的Cache.在进行标记比对时只需比对一次,速度得以提高,硬件容易实现.Cache的标记位减少到7位,所需的CAM容量也有所减小.

图2 直接相联Cache结构示例Fig.2 Sample of the Cache structure of direct connection

图3 组相联Cache结构示例Fig.3 Sample of the Cache structure of group association

2.3 组相联方式

组相联方式中,Cache的v行分为一组(v值一般为2、4、8、16)称为v路组相联Cache[4].

图3是一个2路组相联Cache组织示例,每组的两块放入两个4 KB SRAM的相同位置.Cache分为32组,主存地址20位,按照Cache的大小共分为128个区.

Cache除了存储主存块内容外,要将块对应的标记装入CAM中,CPU发送一个主存地址,假如为FFFFFH,根据主存地址中的5位索引1F找到Cache的组,Cache组中的每块对应的标记和主存地址中的标记7F做比对,如果一致则命中.

由于v的值较灵活,合理分配v值可以减少冲突率,提高命中率.另外v值较小,硬件上较易实现,是一种理想的组织方式.

3 结论

Cache的组织方式对计算机的性能有很大的影响,在3种组织方式中,全相联方式是一种理想方式,但硬件上较难实现,适合容量较小的Cache系统.直接映射方式在硬件上容易实现,但是冲突率大,适合容量大的Cache系统.组相联方式是二者的一个折中,可以调整组中的行数,使之用起来较灵活,因此在计算机的存储系统中有广泛的应用.

[1] STALLINGS W.Computer Organization and Architecture[M].张昆藏,译.7版.北京:清华大学出版社,2006.

[2] 戴梅萼.高性能计算机系统中Cache组织方式及性能分析[J].微电子学与计算机,2000,17(5):15-18.

[3] 王恒娜.浅析访问局部性原理在Cache存储系统中的作用[J].安徽大学学报:自然科学版,2005,29(1):27-30.

[4] 白中英.计算机组成原理[M].北京:科学技术出版社,2008:92-98.

Analysis on Cache Performance of Different Organization Modes in Computer System

ZHU Bao-feng1,2,CAI Yan2

(1.Institute of Information Engineering,Zhengzhou University,Zhengzhou450052,China; 2.Department of Information Technology,Henan Institute of Education,Zhengzhou450046,China)

The principle of Cache is analyzed.It is discussed respectively about the hit rate,hardware implementation,environment of application and other aspects of Cache performance among three organization modes of the Cache by the example.

locality principle;Cache;organization mode;hit rate;performance analysis

TP333.1

A

1007-0834(2012)01-0038-02

10.3969/j.issn.1007-0834.2012.01.013

2011-12-05

河南省科技攻关项目(102102210248)

朱保锋(1978—),女,河南荥阳人,郑州大学信息工程学院在职硕士研究生、河南教育学院信息技术系讲师.

猜你喜欢

命中率存储器示例
静态随机存储器在轨自检算法
2019年高考上海卷作文示例
常见单位符号大小写混淆示例
常见单位符号大小写混淆示例
夜夜“奋战”会提高“命中率”吗
2015男篮亚锦赛四强队三分球进攻特点的比较研究
“全等三角形”错解示例
投篮的力量休斯敦火箭
试析心理因素对投篮命中率的影响
存储器——安格尔(墨西哥)▲