第2章 存储系统课件_第1页
第2章 存储系统课件_第2页
第2章 存储系统课件_第3页
第2章 存储系统课件_第4页
第2章 存储系统课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章要点体系结构概念弗林分类法计算机层次结构Amdahl定律CPU性能及计算计算机系统结构设计及发展作业P231.121.14第二章存储系统

冯诺依曼机的改进:运算器为中心存储器为中心目的:存放计算机系统中所需要处理的程序与数据。主存储器:用以存放正在运行的程序与数据。辅助存储器:存放等待运行的程序与数据。通用寄存器组:是存放那些最经常用到的数据。存储系统:两个或两个以上的速度、容量、价格不同的存储器采用硬件,软件或软、硬件结合的办法联接成一个系统。本章要点存储层次的概念和性能参数(命中率、平均访问时间、加速比)存储层次的三个特性(局部性、一致性、包含性)CACHE引入目的、与虚拟存储器比较的特点及需要解决的问题。CACHE-主存地址映象变换概念?几种主要方式(全相联、直接、组相联)几种替换算法分类;简述LRU替换算法CACHE的写方法,CACHE的性能分析讨论存储保护几种方法作业:P2-692.14(1)(2)(3)(4)(6)(7)(8)

P2-702.16 (1)(2)2.1存储系统概述

2.1.1存储系统的形成

以存储器为中心的计算机结构

主存

缓指存令器

缓读存器

缓写存器I/O

部件……I/O

部件CPU

存储容量S:以字节数表示,单位为B、KB、MB、GB、TB等。

存储器速度T:存储器访问周期,与命中率有关。

存储器价格C:表示单位容量的平均价值单位为$C/bit或$C/KB。计算机存储系统三个基本参数:2.1.2存储系统的层次结构

第一层第二层第三层第四层第五层存储系统的层次结构速度提高容量增加

通用寄存器M1高速缓冲存储器M2

主存储器M3

脱机大容量存储器M5

辅助存储器M4

每级存储器的性能参数可以表示为Ti,Si,Ci。存储系统的性能可表示为:Ti<Ti+1;Si<Si+1;Ci>Ci+1。2.1.3存储系统的包含性,一致性

包含性:在容量大的存储器中,一定能找到上层存储信息的副本。

baAB一致性

:副本修改,以保持同一信息的一致性。

BAM4M3M2段C段Dab2.2并行存储器多个存储器并行工作,并用并行访问和交叉访问等方法;设置各种缓冲存储器;采用Cache存储系统。频带宽度:单位时间内所能访问的数据量。解决频带平衡的三种方法:2.2.1多体并行访问存储器

并行主存系统:一个主存周期内能读写多个字的主存系统。数据寄存器数据总线地址总线地址寄存器体号WW1W2W3W4m1m2m3m4ba体内地址优点:简单、容易。缺点:访问的冲突大。主要冲突:取指令冲突(条件转移时)读操作数冲突(需要的多个操作数不一定都存放在同一个存储字中)写数据冲突(必须凑齐n个数才一起写入存储器)读写冲突(要读出的一个字和要写入的一个字处在同一个存储字内时,无法在一个存储周期内完成)。2.2.2多体并行交叉访问存储器

模M主存储器:分为M个存储体的主存储器。同时访问:采取同时启动,完全并行工作的方式;交叉访问:分时启动,互相错开一个存储体存储周期的1/M,交叉进行工作。四个存储体交叉访问的时间关系m=4分时启动时间图主存周期主存周期启动0体启动1体启动2体启动3体一、高位交叉访问

低位部分:体内地址

b=log2n高位部分:存储体体号

a=log2mm:体数n:每个体的容量数据总线地址总线WMDR00123…n-1MDR1nn+1n+2n+3…2n-1MAR0MAR3MDRm-1n(m-1)n(m-1)+1n(m-1)+2n(m-1)+3…n(m-1)MARm-1译码ab二、低位交叉访问

低位交叉存储器结构

低位部分:存储体体号

b=log2m高位部分:体内地址

a=log2nWMDR00m2m3m…(n-1)mMDR11m+12m+13m+1…(n-1)m+1MAR0MAR3MDRm-1m-12m-13m-14m-1…nm-1MARm-1译码ab数据总线地址总线分时访问例如,n=8m=4多体并行低位交叉编址

012345678910111213141516171819202122232425262728293031ba09182712510304个体并行2个体并行2.3高速缓冲存储器cache

2.3.1高速缓冲存储器的功能、结构与工作原理

CPU与Cache主存的关系

CPUMMUCacheMSD或ID或I存储器管理部件

Cache的结构

·

Cache存储体

·

地址转换部件

·

替换部件

缓存地址主存Cache

块号块内地址MS-Cache地址变换

块号块内地址

Cache替换部件

::::::主存地址替换块装入块不命中数据或指令2.3.2地址映象与转换

地址映象是指某一数据在主存中的地址与在缓存中的地址两者之间的关系。

全相联方式直接相联

组相联三种地址映象:全相联映象方式:全相联的地址映象规则:1)主存与缓存分成相同大小的数据块。2)

主存的某一数据块可以装入缓存的任意一块的空间中。

B:每块大小C:Cache容量M:主存容量

块0

块1

:块i:块M/B-1

块0

块1

:块C/B-1Cache主存储器全相联地址转换

优点:命中率较高,Cache的存储空间利用率高;缺点:线路复杂,成本高,速度低。

块号块内地址主存地址

块号块内地址Cache地址Bibi1

主存块号BCache块号b有效位例:

假设在某个计算机系统中Cache容量为32K字节,数据块大小是16个字节,主存容量是1M,地址映象为全相联方式。(1)主存地址多少位?如何分配?(2)Cache地址多少位?如何分配?(3)目录表的格式和容量?(一)直接相联方式

直接相联的地址映象规则

1.主存与缓存分成同样大小的块;2.主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数与缓存的总块数相等;主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。

直接映象公式b=AmodC/B其中b:Cache的块号A:主存的块号C/B:Cache的块数直接相联地址映象主存储器

块0

块1:

块C/B-1

块C/B

块C/B+1:块2C/B-1

:

块M/B-C/B

块M/B-C/B+1:

块M/B-1区0区1区M/C-1

块0

块1:

块C/B-1cache

直接相联地址转换

优点:简单;缺点:命中率低。目录表存储器块失效相等比较区号Ei块号i块内地址块号i块内地址

主存地址Cache地址相等Ei1

区号(按地址访问)有效位访问Cache例:

假设在某个计算机系统中Cache容量为64K字节,数据块大小是16个字节,主存容量是4M,地址映象为直接相联方式。(1)主存地址多少位?如何分配?(2)Cache地址多少位?如何分配?(3)目录表的格式和容量?主存地址格式:

区号区内块号块内地址211615430缓存地址格式:块号块内地址15430目录表的格式:

主存区号有效位610解:

容量:应与缓存块数量相同即212=4096(三)组相联映象方式

组相联的映象规则

1.主存与缓存分成相同大小的块;2.主存与缓存分成相同大小的组;3.主存容量是缓存容量的整数倍,将主存空间按缓存的大小分成区,主存中每一区的组数与缓存的组数相同。4.组间直接相联;组内全相联。

思考题:

当组相联映象的组内块数大到等于Cache时,就变成什么映象?而当块数小到只有一块时就变成了什么映象?组相联地址映象

区0区Me-1组1组0组C/B-1

块0块B-1块B

块2B-1

Cache块0块B-1

块B

块2B-1组1组C/B-1组0组C/B(Me-1)组C/BMe-C/B+1组C/BMe-1组相联映象的地址转换

优点:速度快,命中率高;相等不等Cache地址区号组号组内块号块内地址主存地址

组号组内块号块内地址相联比较区号E组内块号组内块号EiBibi块表举例说明

主存容量为1MB,缓存容量为32KB,每块为64个字节,缓存共分128组。请写出:(1)主存与Cache的格式;(2)相关存储器的格式与容量解:主存地址:

区号组号块号块内地址19151487650缓存地址:组号块号块内地址1487650区号Ei块号Bi缓存块号bi装入位9543210相关存储器的格式:相关存储器的容量,应与缓存的块数相同,即:组数×组内块数=128×4=5122.3.3替换策略

随机法:(Random,RAND法)先进先出法(First-InFirst-Out,FIFO法)近期最少使用法(LeastRecentlyUsed,LRU法)最久没有使用法(LeastFrequentlyUsed,LFU)举例说明:

设有一道程序,有1至5共五页,执行时的页地址流(即执行时依次用到的程序页页号)为:

2,3,2,1,5,2,4,5,3,2,5,2若分配给该道程序的主存有3页,分别采用FIFO和LRU替换算法表示这3页的使用和替换过程。说明:(1)随机算法:用随机数确定要替换的块;(2)FIFO算法:替换最早装入主存的页;(3)LRU算法:依据各块使用的情况,选择最近最少使用的块替换。时间t123456789101112页地址流232152453252先进先出FIFO调进调进调进命中替换替换替换替换命中命中替换替换2232322*313*1551*25*24245*2*43342*34*53*52命中命中命中命中3次近期最少使用LRU2调进23调进232命中23*1调进2*15替换51*2命中25*4替换2*45命中54*3替换35*2替换3*25命中523*命中命中命中命中命中命中命中5次2注意:LRU也不是理想的方法,它仅仅是根据过去访存的频率估计未来的访存情况,因而只是推测的方法;块命中率与地址流、块的大小和块的数量有关,应具体问题具体分析,选择适当的算法;存储单元替换时应注意防止出现颠簸现象,即调入一块时将另一块调出,紧接着又需要访问刚刚调出块的数据,而将该块调入时又将上一块调出,即颠簸。练习1:

对于一个容量为3个块的全相联Cache,假定访问的地址块号序列为1,2,3,4,1,2,3,4,分别用FIFO算法和LRU算法,写出其队列变化情况,并得出结论。练习2

对于一个全相联Cache,假定访问的地址块号序列为1,2,3,4,1,2,5,1,2,3,4,5,在先进先出替换方式下,分别写出分配给程序的主存页面是3页和4页的情况下,其队列的变化情况,并得出结论。结论:产生颠簸现象,说明命中率与页地址流有关。结论:FIFO算法不是堆栈型算法,主存页数增加,命中率反而下降。替换算法的实现计数器方法主存访问块地址

块4

块2

块3

块5

块号计数器块号计数器块号计数器块号计数器Cache块0110111111500Cache块1301310300301Cache块2400401410411Cache块3空××200201210操作

起始状态

调入命中替换寄存器栈法比较对法

缓存操作初始状态调入2命中块4替换块1寄存器03245寄存器14324寄存器21432寄存器3空1134231T12T24T34T13T14T232.3.5Cache性能分析

Cache存储器的地址变换和块替换算法全由硬件实现;一、Cache透明性分析Cache-主存存储层次对应用程序员和系统程序员都是透明的;Cache对处理机和主存之间的信息交往是透明的。

二、Cache的命中率

1.Cache的容量对命中率的影响

2.Cache块的大小对命中率的影响3.地址映象方式对命中率的影响

命中率H命中率H容量S1块大小初始最佳Cache命中率H与容量S的关系Cache命中率H与块大小的关系三、Cache系统的加速比

等效的访问周期为T

Cache系统的加速比Sp则为

命中率越高,加速比越大。当Hc→1时,

Tc:Cache的访问周期;Tm:主存储器的访问周期;Hc:Cache的命中率Cache加速比与命中率的关系

存储系统的访问效率:

Sp的期望值Spmax=Tm/TcSp102468命中率H2.3.4Cache的写操作

一、全写法,亦称写直达法(WT法——Writethrough):在对Cache进行写操作的同时,也对主存该内容进行写入。二、写回法(WB法——Writeback):在CPU执行写操作时,只写入Cache,不写入主存;需要替换时,把修改过的块写回主存。

三、写不命中:不按写分配法按写分配法按写分配法不按写分配法直接将数据写入主存,不调入缓存数据写入主存,并将该数据调入Cache2.3.6Cache的实用举例

一、Cache的分体

多体存储器:分为数据体Cache与指令体Cache。原因:数据与指令不在一体可以减少多个访问源访问存储器的冲突;两个体的访问操作不完全相同,数据体有读操作和写操作,而指令体只有读操作。因此在替换时,只有数据体有写回的问题。在Cache容量相等的情况下,指令与数据分体的Cache比一体化的Cache命中率要高。二、Cache的分级

实例:PentiumPC的Cache

11211420微缓存地址

组号双字字节5组内块号

数据数据数据0101位

标记M

标记E

标记S组号

01127

标记I

标记S

标记E

数据数据数据目录1路120位2位32字节32字节路020位2位目录0主存地址:2.4虚拟存储器

2.4.1概述

虚空间:程序所能利用的空间。实地址:主存物理空间的编址;虚地址:编程序时程序员所用的地址,在编译程序中由处理机生成。CPU存储管理主存

辅存I或DI或DVAPA外存地址虚拟存储器中CPU、MS、辅存间关系虚拟存储器与高速缓冲存储器区别:

2.4.2虚拟存储器的管理方式

1.段式管理

2.页式管理

3.段页式管理

Cache虚拟存储器功能提高了主存储器的速度扩大了主存储器的容量实现技术硬件以软件为主透明性透明不透明地址转换简单复杂、速度慢2.4.3虚拟存储器的工作过程

主要依据:一是访问主存的命中率要高;二是替换策略易于实现

一、快表

二、虚存与外存地址的转换

三、页式管理虚拟存储器工作过程

2.4.4页面替换策略

段式管理地址映象:将虚存空间分段,主存的空间按这种段来分配和管理。段:按程序的逻辑功能来划分,一个用户的程序(或一个进程)可以包含多个功能不同的程序段

·地址转换:主存地址格式:段号段内地址虚存地址格式:用户号段号段地址

段式管理的主要优点:程序模块化的性能好,各段在功能上是相互独立的;便于程序与数据的共享;程序的动态链接比较容易;便于实现存储保护。地址变换所需的时间比较长。主存的空间利用不充分。对辅存(磁盘)的管理比较困难。段式管理的主要缺点:页式管理

页:将主存空间与虚存空间按固定的大小划分成块,每块称为一页。虚页:虚存中的页;实页:实存中的页。虚页与实页之间按全相联方式映象。虚存地址格式:

虚页号页内地址主存地址格式:实页号页内地址页式管理的优点:主存储器的空间利用率比较高。页表的管理比较简单,可以不考虑程序的长短,按固定块长分配,管理,调度。地址映象与地址转换速度比较快。按页的管理方式,与对辅存的地址格式是一致的,因而管理起来比较容易。

缺点:占用很大的存储空间。程序的模块化性能不好。段页式管理段页式管理:将虚拟存储空间按段式管理,而主存空间按页式管理,存在虚空间的程序按逻辑关系分段,每一段又可分成固定大小的页。主存则只分成若干相同大小的页。虚存地址格式:用户号段号段内虚页号页内地址主存地址格式:实页号页内地址地址转换:需要三层表,记录相关信息,包括段表基地址表、段表、页表。2.4.3虚拟存储器的工作过程快表TLB(translationlookasidebuffer):采用一个小容量的、高速的相关存储部件,用来存放当前最经常用到的那一部分页表,采取按内容相联方式进行访问。快表的内容包括两部分即虚地址与实地址的对应关系。

优点:速度快。缺点:随着主存容量的增加,目录表的容量也必须增加。当目录表增大时,其速度也将随之下降,成本提高。替换策略与高速缓冲存储器相同基本上是相同的。2.4.5虚拟存储器的性能分析

访问虚存的等效访问周期影响命中率的因素有下列几方面:

(一)页面大小

(二)主存容量

(三)页面调度方式

访问主存的时间

访问主存的命中率磁盘存储器的访问速度

1命2S中率SH

页面大小S

页面大小与主存命中率的关系P1.0

命中率

H

主存容量S

主存命中率H于贮存容量S的关系2.5存储保护

2.5.1存储保护的方式

(一)加界保护方式

ABaa+n-1bb+m-1上界上界下界下界aa+n-1bb+m-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论