虚拟存储器和高速缓冲存储器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作原理
虚拟存储器是由硬件和操作系统自动实现存储信息调 度和管理的。 它的工作过程包括5个步骤:
①
中央处理器访问主存的逻辑地址,以确定该信息是否存放在主存内。
②
如该信息已在主存内,则转而执行④;如果该信息不在主存内,则 检查主存中是否有空闲区,如果没有,便将某个暂时不用的调出送 往辅存,以便将这组信息调入主存。 从辅存读出所要的信息,并送到主存空闲区。
二级缓存
二级缓存是为了协调一级缓存与内存之间的速度。它 比一级缓存速度更慢,容量更大,主要就是做一级缓存 和内存之间数据临时交换的地方用。
三级缓存
三级缓存是为读取二级缓存后未命中的数据设计的—种 缓存。在拥有三级缓存的CPU中,只有约5%的数据需要 从内存中调用,这进一步提高了CPU的效率。
三级缓存的性能影响
采用大容量高速缓存,显著提高数据传输速度。 多端口并行技术,消除了I/O瓶颈。
逻辑存储单元提供了高速的磁盘访问速度。
可方便的连接交换设备,为系统的扩展和互连提供了技术保
障。
非对称式虚拟存储:
是指虚拟存储控制设备独立于数据传输路径之外。
非对称式虚拟存储技术的特点: 1、 将不同物理硬盘阵列中的容量进行逻辑组合,实现虚拟的带区
虚拟存储器和高速缓冲存储器
虚拟存储器主要内容
虚拟存储器的概述 虚拟存储器的发展背景
虚拟存储器的工作原理
虚拟存储技术的分类 虚拟存储wk.baidu.com的特点
虚拟存储器:
虚拟存储器:就是采用一定的方法将一定的外存容量 模拟成内存,同时对程序进出内存的方式进行管理.从而 得到一个比实际内存容量大得多的内存空间,使得程序的 运行不受内存大小的限制。 虚拟存储器解决了存储容量和存取速度之间的矛盾,同 时也是管理存储设备的有效方法。
命中率计算公式: h=Nc/(Nc+Nm)
Nc表示cache完成存取的总次数
Nm表示主存完成存取的总次数
h定义为命中率
访问效率
表示了cache命中时的访问时间Tc与cache/主存系统平 均访问时间Ta的关系。
从地址变换表读出与逻辑地址对应的物理地址。 根据物理地址从主存中存取必要的信息。
③ ④ ⑤
虚拟存储技术的分类:
根据拓扑结构来分:
对称式虚拟存储和非对称式虚拟存储
对称式虚拟存储:是指虚拟存储控制设备与存储软件系 统、交换设备集成为一个整体,内嵌在网络数据传输路径 中。
对称式虚拟存储技术的特点:
Cache替换算法
随机替换(RAND)
随机找一个存储单元进行替换,比较简单。
最不经常使用算法(LFU)
将一段时间内被访问次数最少的那行数据换出。
最近最少使用算法(LRU)
需要计算字块的使用次数,开销大,但平均命中率较高。
随机替换
随机替换策略实际上并不是严格意义上的算法,从特 定的行位置中随机的选取一行换出即可。 这种策略在硬件上容易实现,且速度也比较快。缺点 是随意换出的数据很可能是马上要用的,从而降低了命中 率和cache的工作效率。 但随着cache的容量增大这种不足就会相应减小。
由于虚拟存储具有上述特点,虚拟存储技术正逐步成 为存储管理的主流技术
高数缓冲存储器
高速缓冲存储器概述 高速缓冲存储器与CPU的关系
高数缓冲存储器的工作原理
高数缓冲存储器的地址映射
高速缓冲存储器的命中率
影响命中率的因素
解决CPU和主存速度差异的方法
由于CPU和主存储器是不同材料制成的,因而他们之间在速 度上是不匹配的。为了使CPU不致因为等待存储器读写操作 的完成而无事可做,就采取了一些加速CPU和存储器之间有 效传输的特殊措施。 实现途径:
虚拟存储器的发展
虚拟存储器源出于计算机的一级存储器概念。 1970年,美国RCA公司研究成功虚拟存储器系统。 IBM公司于1972年IBM370系统上全面采用了虚拟 存储技术。
随着计算机技术以及相关信息处理技术的不断发展,人 们对存储的需求越来越大,这样的需求刺激了各种新技术 的出现。在这个发展过程中也由几个阶段组成。
全相联映像方式
是指主存中的地址与块的内容一起存于cache的行中, 其中地址存于cache行的标记部分中。
主存分成若干块, Cache分成若干块(比主存块数少),每块中都有 同样多的字。 允许主存任一块存放到Cache的任一个块。 CPU读主存时,若内容不在Cache,就将主存中的该块整个存放到 Cache。
最近最少使用算法(LRU)
LRU算法将近期内长久未被访问过的行换出。因此每行 也设定一个计数器。但它们是cache每命中一次,名中行计 数器清零,其他各行计数器增1。当需要替换时,比较个特 定行的计数值,将最大的行换出。
特点:
保护了刚拷贝到cache的新数据,符合cache的工作原 理,命中率较高。
最不经常使用算法(LFU)
LFU算法认为应将一段时间内被访问次数最少的那行数 据换出。为此每行设置一个计数器。新行建立后从0开始计 数,每访问一次,被访问行的计数器加1。当需要替换时, 对这些特定行的计数器进行比较,将计数值最小的换出,同 时将这些特定行的计数器都清零。
缺点:
这种算法将计数周期限定在这些特定行两次替换之间的 间隔内,不能严格反映近期访问情况。
全相联映射方式
主存 cache L0 B0
. . . . . .
L7 L 7
标记位
B255
全相联映像方式特点
主存的字块可以和Cache的任何字块对应,利用率 高,方式灵活。 标志位较长,比较电路难于设计和实现,成本太 高,只适用于小容量的cache。
利用率、成本太高。
直接映射方式
是指一种多对一的映射关系,但主存块只能映射到 cache的一个特定位置上。
程序的局部性原理
程序在一定时间段内通常只访问较小的地址空间 访问概率
地址空间
两种局部性:时间局部性和空间局部性 时间局部性:最近被访问的信息很可能还要被访问。 将最近被访问的信息项装入到Cache中。 空间局部性:最近被访问的信息临近的信息也可能被访问。 将最近被访问的信息项临近的信息一起装入到Cache中。
利用率低,命中率低,效率较低
组相联映像方式
组相联映射方式是直接映射和全相联映射的折衷方案,它 适度的兼顾了二者的优点又尽量避免其缺点,被普遍采用。
主存分成若干块, Cache分成若干块。每块中都有同样 多的字。 Cache分成同等容量的多个体。主存分为若干区,主存 的块只能存放在块号和Cache体中组号一致的块中,但 是放在哪一个体中是随意的。
主存储器采用更高速的技术缩短存储器的读出时间。 采用并行操作的双端口存储器。 在存储器和主存储器之间插入一个高速缓冲存储器。
高速缓冲存储器( cache):
是存在于计算机存储系统的层次结构中,介于 中央处理器和主存储器 之间的高速小容量存储器。
Cache是用来存放那些近期需要运行的指令与数据, 提高CPU对存储器的访问速度。是为了解决CPU和主 存之间速度不匹配而采取的一项重要技术。
Cache分为若干块,主存分为若干区,每区分为若干块, 每区的块数和Cache一样大。 主存的块只能存放在块号和Cache块号一致的块中
直接映射示意图
主存 cache L0 B0
…
B7 B8
…
…
L7
标记位
B15 B16
...
行号
直接映像方式特点
主存的字块只可以和固定的Cache字块对应,方式 直接,利用率低,适用于大容量的cache。 标志位较短,比较电路易于设计和实现,硬件成 本低。
虚拟存储器发展背景
主存储器通常用动态随机存储器(DRAM)实现,它的存 储容量相对比较小,速度比较快,单位容量的价格比较贵。
虚拟存储器由主存储器和联机工作的外部存储器共同组成。 外部存储器通常为磁盘存储器,它的存储容量很大,与主 存储器相比,速度很低,单位容量的价格很便宜。
由于早起计算机系统的存储容量,特别是内存容量成本非常高、容 量也很小,对于大型应用程序或多程序应用就受到了很大的限制。为 了克服这样的限制,人们就采用了虚拟存储的技术。
组相联映像方式
组相联映像方式特点:
折衷方案。组间为全相连,组内为直接映像。 集中了两个方式的优点。成本也不太高。
最常用的CACHE映像方式
Cache的命中率和命中时间
CPU访问主存的数据或指令存在于高速缓存中时的情况 称为高速缓存命中,高速缓存命中的统计概率称为高速缓 存的命中率。
在高速缓存命中时的访存时间称为命中时间,它等于高速 缓存的访问时间。
在实际应用中,数据块虚拟存储方案以对称式拓扑 结构为表现形式。
虚拟文件系统存储:
虚拟文件系统存储方案着重解决大规模网络中文件共 享的安全机制问题。通过对不同的站点指定不同的访问权 限,保证网络文件的安全。
在实际应用中,虚拟文件系统存储方案以非对称式拓扑 结构为表现形式。
虚拟存储的特点:
虚拟存储提供了一个大容量存储系统集中管理的手段, 由网络中的一个环节(如服务器)进行统一管理,避免 了由于存储设备扩充所带来的管理方面的麻烦。 虚拟存储对于视频网络系统最有价值的特点是:可以大 大提高存储系统整体访问带宽。 虚拟存储技术为存储资源管理提供了更好的灵活性,可 以将不同类型的存储设备集中管理使用。
Cache与CPU的关系
Cache是介于CPU与主存之间的小容量存储器 CPU可直接访问cache Cache能高速的向CPU提供指令和数据从而加快了 程序的执行速度。 Cache可以放到CPU中形成两级以上的缓存。
CPU存储系统关系图
cache 中央处理器
Cache 主存
外存
随着半导体器件集成度进一步提高,cache已经放入到CPU中其工作 速度接近CPU的速度,从而可以组成两级以上的cache系统。目前所有 主流处理器大都具有一级缓存和二级缓存,少数高端处理器还集成了三 级缓存。
首先是磁盘条带集(RAID)技术:它将多个物理磁盘通过一定的 逻辑关系集合起来,成为一个大容量的虚拟磁盘。 其次就是存储区域网络(SAN)技术:SAN的广域化则旨在将存 储设备实现成为一种公用设施,任何人员、任何主机都可以随时随 地获取各自想要的数据。 目前讨论比较多的包括iSCSI技术。
主存与cache的地址映射
与主存容量相比,cache的容量很小,它保存的内容只是 主存内容的一个子集,且cache与主存的数据交换方式是以 块为单位。为了把主存块放到cache中,必须运用某种方法 把主存地址定位到cache中,称为地址映射。
地址映射方式:
全相联方式方式 直接映射方式 组相连映射方式
高速缓存的失效率和失效时间
CPU访问主存的数据或代码不存在高速缓存中的情况 称为高速缓存的失效率。
高速缓存不命中时因访问主存而增加的访问时间称为高 速缓存的失效时间,或失效开销。
cache重要性能指标:命中率
命中率越高,不命中数据的可能性就越小,正确获取数据的 可能性就越大,平均访存时间也就越短。
集,将多个阵列控制器端口绑定,在一定程度上提高了系统的可 用带宽。
2、 在交换机端口数量足够的情况下,可在一个网络内安装两台虚
拟存储设备,实现Strip信息和访问权限的冗余。
从虚拟化存储的实现原理来分:
数据块虚拟、虚拟文件系统 数据块虚拟存储方案着重解决数据传输过程中的冲突 和延时问题。 数据块虚拟存储方案利用虚拟的多端口并行技术,为 多台客户机提供了极高的带宽,最大限度上减少了延时 与冲突的发生。
CPU
主 存
cache
数据总线
引入高速缓冲存储器的理论依据
系统引入高速缓冲存储器的理论依据是程序访存局部性规 则。大部分程序的执行方式是顺序执行,所需的数据也都顺 序排列。程序运行时大部分时间内对程序的访问局限在一个 较小的区域内,这就是程序访问的局部性规律。 依据这个规则,在CPU与主存之间设立高速缓存,将主存 中被频繁访问区域内的数据调入高速缓存,CPU从高速缓存 中获取所需的数据,可大大的提高主存的访问速度。
在游戏方面,提升三级缓存的容量对游戏的性能影响很大, 如果是网吧机提升三级缓存的容量,会有显著的性能提升 的。
对PC机来说,三级缓存其实只是做了个辅助的作用,除 了服务器,其实对大多数家庭机没什么用的, 对于家庭 机内存是最重要的。
高速存储器的工作原理图:
LRU管理逻辑
CAM
地址总线
相联存储图表