开篇:润墨网以专业的文秘视角,为您筛选了一篇存储体系构建和存储系统性能研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:存储系是计算机系统的关键,它的性能的好坏、怎样组织直接影响着计算机的性能,本文重点在深入分析存储系统的性能的基础上来探讨存储体系的构建,构建良好的存储系统是计算机控制系统,单片机控制系统的关键,存储系统构建的好坏,直接影响着前端的数据采集和系统控制。
关键词:频带平衡;并行访问;交叉访问;存储系统
中图分类号:TP303文献标识码:A文章编号:1009-3044(2009)25-7403-02
Research of Memory System Capability and Memory System Build
HU Yong
(Department of Electronic & informational engineering, School of Applied technique, Institute of Chong Qing JiaoTong university, Chongqing 400042,China)
Abstract:The memory system is importantin computer system, It’s capability well or bad ,how to organize it ,all of these will be direct affect computer’s capability, we will have discussed computer’s memory system to build in the base of going deep into analyzing the memory system’s capability,To building a well memory system that is important in computer control system and in slice computer control system ,bad or well of memory system’s building that affect data mining and the system controlling.
Key words: frequency balance; collateral accessing;chiasma accessing; memory system
存储系统是由速度、容量、价格不同的各种存储器用硬件、软件或硬件与软件相结合的方法连接起来所构成的一个系统;它是现代计算机系统的中心,该系统性能的好坏直接影响着计算机系统的性能,而且在现有的计算机系统中,存储系统起着越来越重要的作用,在操作系统的管理中存储系统的管理仍然占据着非常重要的作用,不管操作在存储管理上怎样优化,存储系统在硬件上的组织都起着非常重要的作用,特别是笔者在长期的智能控制方面研究中,发现存储系统构建的好坏,直接影响着前端底层软件的开发和后期控制系统性能的好坏,因此,构建一个高性能的存储系统对提高计算机性能和智能控制中的前端控制系统起着非常重要的作用[1]。
1 存储系统的理论基础
一个典型的计算机存储系统若由n个存储器构成,这n个存储器的第I个存取速度(访问速度的快慢直接与存取周期有关,因此我们用Ti表示);容量用Si表示;价格用Ci表示。从外部看,可以看作一个存储器。[1]这个存储器的访问速度近似等于存储器中存储周期最小的存储器;存储容量与所存储器中容量最大的存储器相等或接近,价格近似等于所有存储器中价格最便宜的那个存储器,对于一个存储系统不妨设存取速度按由高到低的顺序排列,它们依次为M1>M2>…
T≈min(T1,T2,…,Tn),用存储周期表示
S≈nax(S1,S2, …,Sn),用MB或GB表示
C≈min(C1,C2, …,Cn),用每位的价格表示
从以上存储系统原理图上可以看出,决定存储系统的三个主要参数是:容量S,速度T和价格C,组成这个系统的每个存储器本身也主要由三个参数决定,这样单位容量的平均价格C有这样式的公式:
(1)
访问周期与命中率H的关系非常大,对第i个存储器的命中率用Hi表示,对整个存储系统有
H1+H2+ …+Hn=1 (2)
一个软件对n个存储器访问的次数分别是K1,K2,…,Kn,则有
(3)
由(3)式则整个存储系统的访问周期T有如下公式:
T=H1・T1+H2・T2+…Hn・Tn (4)
当命中率H1时,即存储系统的访问周期T接近于速度比较快的M1存储器的访问周期T1,假设存储系统的访问效率用e表示则有:
e=T1/T(5)
访问效率越高,说明存储系统的速度与相对比较快的那个存储器的速度就越接近,将 (4)式代入式 (5)则有
如果我们以两级存储体系为主来探讨存储系统的访问效率,则由 (6)式得出:
由 (2)式可得两级存储体系的命中率H为:
H=H1+H2≈1 (8)
将(8)式代入(7)式则有:
由 (9)式我们可以得出:存储系统的访问效率主要与命中率和构成存储系统的两级存储器的速度之比有关。因此 ,我们可以得出这样的结论:如果要使存储系统的速度与相对比较快的那个速度接近,有两条途径。一是提高第一级存储器的访问命中率,另一条是使构成存储系统的两个相邻的两级存储器的速度之比不要太大。
从图1中我们可以看出要提高整个存储系统的速度,必须想法提高每个存储器的访问速度,即缩短访问周期,特别是缩短M1的访问周期,因此,[2]我们在计算机系统中一般M1采用高速缓存,对于虚拟存储系统,由于两级存储器的速度相差得特别悬殊, T2/T1>105,如果要使访问效率e达到90%,则M1命中率需要使得对M1的命中率达到99%,这么高的命中如何达到呢?由于CPU与主存储器的速度相差两个数量级,只采用一级Cache是不够的,往往在现有的存储系统中采用两级或三级Cache结构,再加上CPU内部的一些缓冲存储器来提高数据的重复利用率。
2 存储系统的构建
从上面对存储系统性能研究的基础上,我们可以得出要提高存储系统的性能和发挥存储系统的整体优势必须解决三个方面的问题:1)如何提高存储系统的访问加速度;2)解决存储系统容量的瓶颈问题;3)降低存储系统整体价格:[3]如何在满足存储系统的三个方面的要求,既要求系统的访问速度要快,而且容量要足够大,但整个存储系统价格又要不太高,这就要求Cache容量不能配置太大,主存容量适中,尽量增大辅存容量,如何兼顾三者的需求,这里主要解决两个方面的问题,一是如何提高Cache的访问命中率,降低访问的冲突,提高访问带宽,从而提高访问速度;二是存储器的访问速度能否跟上系统的需要,是影响整个计算机系统性能的极为重要的关键问题,这就是存储器的频带平衡问题,[4]从计算机系统的角度上来说,一般有三条途径可以解决存储器的频带平衡问题,至于三条途径的每一种具体方法不是本文探讨的重点,这时就不再详细介绍,三条途径它们分别是:1) 采用多个存储器并行工作,并且用并行访问和交叉访问等方法提高存储的访问速度;2) 设置各种缓冲存储器;3)采用存储系统。二是虚拟存储系统的软、硬件构建,利用全部主存和部分联机存储器的一部分按统一编址方式为程序员提供一个逻辑上庞大的编程和访问空间,让程序员透明使用该逻辑存储空间,在现行计算机系统中一般采用硬件上用快表结构,采用段式、页式、段页式虚拟存储管理方式和先进的淘汰算法实现虚拟存储管理。
从存储系统的基本理论为基础,存储系统一般采用六个层次来构建,这六个层次由内到外,依次是通用寄存器堆、指令和数据缓冲栈、cache(高速缓冲存储器)、主存储器、联机外部存储器、脱机外部存储器,[1]其层次结构由图2所示。
从图2的存储系统的层次结构图,[6]我们可以看出影响整个存储系统的主要有两个关键的存储体系,它们分别是Cache高速缓存部分和虚拟存储器两大关键部分,两大体系的性能的好坏直接影响整个存储系统的性能,因此,针对Cache高速缓存部分,主要是提高数据的访问命中率,尽量在Cache部件中进行数据的访问,减少CPU直接和主存对话,这样可以大提高数据的访问速度,因此,在该级采用预取技术可以大幅度的提高命中率,具体的方法是:在不命中时,在数据从主存中取出数据送往CPU的同时,把主存储器相邻的几个单元中的数据(称为一个数据块)都取出来一并送入Cache中,根据程序的局部性原理,CPU以后再对Cache存储系统访问时,命中率就会大提高。
[4]对于虚拟存储体系的管理在前面提到的采用段式、页式和段页式三种管理方式,其关键都是为了提高在数据访问的过程中提高主存命中率,减少数据访问的抖动问题(即要访问的数据刚被换出内存,则需立即换入内存),如何尽量去抖通常的解决办法是用软件和硬件的方式来解决该问题,如采用最近最少使用调度算法辅以硬件的手段来实现其调度。从前面(9)式套用到虚拟存储器的管理则有:
T=H・T1+(1-H)・T2 (10)
T1表示主存储器的访问周期
T2表示磁盘存储器的平均访问周期
T表示虚拟存储器的访问周期
在上式(10)中,T1/ T2>105。[5]因此,要缩短访问虚拟存储器的访问速度,只有提高对主存的访问命中率,而影响主存命中率的主要因素有如下几个方面:1) 程序在执行过程中的页地址流分布情况;2) 所采用的页面替换算法;3) 页面大小;4) 主存储器的容量;所采用的页面调度方法。在以上五个方面中第一种因素与程序本身有关,属不可控因素;但其他四种因素是可控的,影响命中率的第二个因素是所采用的页面替换算法,在虚拟存储的管理中,页面的替换算法一般采用堆栈型算法具有较高的效率;针对影响命中率的第三个因素,页面大小的选择,到底多大为适宜呢?页面大小与主存命中率的关系不是线性,页面大小还与主存储器的存储容量和程序的页地址流分布情况有关。通过大量模拟实验,目前大量机器的页面大小都取4KB、8KB或16KB;影响命中率的第四个因素是主存容量,主存容量S和命中率的关系是命中率H随着分配给该程序的主存容量S的增加而单调上升;影响命脉中率的第五个因素是页面的调度方式,在虚拟存储管理中一般采请求式页面调度算法。总之对于虚拟存储系统的管理,需要终合考虑几个方面的因素,以达到提高虚拟存储器的访问速度。
3 结束语
存储系统的研究对计算机的发展和应用有着重要的现实意义,特别是智能控制系统的前端控制,前端控制系统中单片机系统的存储性能的好坏,直接影响前端数据采集、数据传送和控制实时效果;存储系统的布局还影响着智能控制系统的前端控制的硬件布局和硬件设计,底层代码的开发都有着非常重要的意义;针对控制系统的前后台软件开发开发、设计和优化也有着非常重要的意义,特别是针对前台软件开发,由于前台软件开发一般都是采用低级语言开发,低级语言开发软件与硬件的结合比较紧密,存储系统性能的好坏,直接影响软件开发的质量;因此,高性能的存储系统研究和构建有着非常重要的意义。
参考文献:
[1] 郑纬民.计算机系统结构[M].2版.北京:清华大学出版社,1998.
[2] 李芷.微机原理与接口技术[M].1版.北京:电子工业出版社,2002.
[3] 白中英.计算机组成原理[M].3版.北京:高等教育出版社,2004.
[4] 姚燕南 .微型计算机原理[M].1版.西安电子科技大学出版社,2000.
[5] 陆志才.微型计算机组成原理[M].北京:高等教育出版社,2003.
[6] 蒋本珊.计算机组成原理[M].北京:高等教育出版社,2004.