增加存储器宽度提高主存储器的性能
邹嘉欣
(哈尔滨理工大学 软件学院)
摘 要 主存是存储层次中紧接着Cache下面的一个层次。主存是数据输入的目的地,也是数据输出的发源地,它既被用来满足Cache的请求,也被用作I/O接口。主存的性能主要用延迟和带宽来衡量。以往,Cache主要关心的是主存的延迟(它影响Cache的失效开销),而I/O则主要关心主存的带宽。随着第二级Cache的广泛使用,主存带宽对于Cache来说也变得重要了,这是因为第二级Cache的块大小较大的缘故。主存的性能指标主要看延迟和带宽。
关健词 主存 性能 延迟 带宽
To improve the performance of the main memory is a new idea
Zou jiaxin
(harbin university of science and technology software college)
Abstract Memory is the memory hierarchy and a level below Cache. Memory is the destination of data
input, is also the birthplace of output data, it can be used to satisfy the request of Cache, also can be used as I/O interface. The main performance is mainly used to measure the latency and bandwidth. In the past, Cache is primarily concerned with memory latency (failure overhead it affect Cache), while I/O is primarily concerned with the main memory bandwidth. With the wide use of second Cache, main memory bandwidth for Cache is also very important, this is because the second Cache block size larger. The performance index of main memory latency and bandwidth.
Keywords memor cache delary blandwitch
0 引言
主存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在主存中进行的,因此内存的性能对计算机的影响非常大。主存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。主存如此重要,所以更快的存储速度1. 主存的主要性能指标:延迟和带宽2. 以往:Cache主要关心延迟,I/O主要关心带宽3.现在:Cache关心两者在下面的讨论中,我们以处理Cache失效为例来说明各种存储器组织结构的好处。在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内纯初期(简称内存,港台称之为记忆体)。
内存 内存又称主存,是cpu能直接存执的存储空间,由半导体器件制成。内存的特点是存取速率快。内存是计算机中的主要部件,它是相对于外存而言的。我们平常使用的程序,如windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于电脑的外存,而我们工作的办公
1
桌就是内存。通常我们把要永久保存的、大量的书记存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度
1 相关
1.1 为了减少失效开销TM,应该:
减少主存延迟 提高主存带宽
1.2 增加Cache块大小能利用主存带宽增加所带来的好处在以下的讨论中,我们假设基本存储 器结构的性能为:送地址需4个时钟周期
每个字的访问时间为24个时钟周期 传送一个字的数据需4个时钟周期 如果Cache大小为4个字,则: 失效开销=4×(4+24+4) =4×32=128(时钟周期)
带宽=16/128=0.0125(字节/时钟周期)
2 方法
(1). 增加存储器的宽度
◆ 性能举例 (参照前面的假设) 当宽度为4个字时: 失效开销=1×32(周期) 带宽=0.5(字节/周期) 缺点:
增加CPU和存储器之间的连接通路的宽度 CUP和Cache之间有一个多路选择器 扩充主存的最小增量增加了相应的倍数 写入有可能变得复杂
举例:DEC的Alpha Axp21064:256位宽 2. 采用简单的多体交叉存储器
在存储系统中采用多个DRAM,并利用它们
潜在的并行性。 性能举例:(参照前面的假设)
失效开销=4+24+4×4=44(周期) 带宽=0.4(字节/周期)
存储器的各个体一般是按字交叉的交叉存储器(interleaved memory)通常是指存储器的各个体是按字交叉的。 字交叉存储器非常适合于处理:Cache读失效,写回法Cache中的写回假设四个存储体的地址是在字一级交叉的,即存储体0中每个字的地址对4取模都是0,体1中每个字的地址对4取模都是1,依此类推。
3 例 子
假设某台机器的特性及其Cache的性能为: · 块大小为1个字
· 存储器总线宽度为1个字 · Cache失效率为3 %
· 平均每条指令访存1.2次
· Cache失效开销为32个时钟周期(和上面相同) · 平均CPI(忽略Cache失效)为2
试问多体交叉和增加存储器宽度对提高性能各
2
有何作用?
如果当把Cache块大小变为2个字时,失效率降为2%;块大小变为4个字时,失效率降为1%。
根据5.6.2小节中给出的访问时间,求在采用 2路、4路多体交叉存取以及将存储器和总线宽 度增加一倍时,性能分别提高多少? 在改变前的机器中,Cache块大小为一个 字,其CPI为
2+(1.2×3%×32)=3.15
当将块大小增加为2个字时,在下面三种
情况下的CPI分别为:32位总线和存储器,不采用多体交叉: 2+(1.2×2%×2×32)=3.54
32位总线和存储器,采用多体交叉: 2+(1.2×2%×(4+24+8))=2.86
性能提高了10%
64位总线和存储器,不采用多体交叉: 2+(1.2×2%×1×32)=2.77 性能提高了14%
如果将块大小增加到4个字节,则: 32位总线和存储器,不采用多体交叉:
2+(1.2×1%×4×32)=3.5432位总线和存储器,采用多体交叉: 2+(1.2×1%×(4+24+16)) =2.53
性能提高了25%
64位总线和存储器,不采用多体交叉: 2+(1.2×1%×2×32)= 2.77
性能提高了14%存储体的数目
体的数目≥访问体中一个字所需的时钟周期
4 结论
增加存储器宽度确实可以提高主存性能,存储器的带宽决定了以存储器为中心的机器获取信息的传输速度,它是改善机器瓶颈的一的关键因素。
为了提高存储器的带宽,可以采取以下措施:
1、缩短存取周期;
2、增加存储自长,使每个存取周期可读/写更多的二进制位数;
3、增加存储体。
3
计算方法:带宽=每个存取周期访问位数/存取周期。如存取周期为500ns,每个存取周期可访问16位,则它的带宽为32M位/s通过以上这些方法来提高带宽就可以提高主存的性能。
[1] 计算机组成原理(第2版)唐朔飞。[2] 百度百科 李彦宏。
2013 参考文献
4
年12月1日
因篇幅问题不能全部显示,请点此查看更多更全内容