计算机体系结构-第五章 存储层次
微型计算机原理与组成-第5章 储存系统
· 读取CMOS-SRAM中的设备配置,确 定硬件运行环境。
· 系统引导、启动。
· 基本的输入输出控制程序。 · 存储一些重要的数据参数。 · 部分机器还含有硬化的部分操作系统。
ROM-BIOS一般为几十KB的容量,并 有逐渐加大的趋势,常为掩膜式ROM。 目前高档PC机已采用快速擦写存储器, 使ROM BIOS 的功能由软盘软件支撑升级。
5.4.5 页式虚拟存储器 页式虚拟存储器中的基本信息传送单 位为定长的页。
5.4.6 段页式虚拟存储器简介
段式虚拟存储器和页式虚拟存储器各有 其优缺点,段页式管理综合了两者的优点, 将存储空间仍按程序的逻辑模块分成段, 以保证每个模块的独立性及便于用户公用; 每段又分成若干个页。 页面大小与实存页相同,虚存和实存之 间的信息调度以页为基本传送单位。
2.CMOS-RAM 用于记录设备配置参数,如内存容量, 显示器类型,软硬磁盘类型及时钟信息等。 CMOS-RAM采用CMOS工艺制成,功耗很 少。
3.ROM-BIOS
ROM-BIOS用于存放基本的输入输出 系统程序,是操作系统驻留在内存中的最 基本部分,其主要用于以下几个方面。
· 开机后的自检。检测对象涉及计算机 系统的各主要功能部件包括CPU、ROM、 RAM、系统接口电路和键盘、软、硬磁 盘等外设。
5.1.1存储器的分类
1. 按存储介质分 按存储介质可以将存储器分为三种:半 导体存储器、磁表面存储器和光存储器。
2. 按存取方式分
按照存储器的存取可方式分为随机存取 (读写)存储器、只读存储器、顺序存取存 储器和直接存取存储器等。
第五章 存储器层次结构
第五章存储器层次结构存储器是计算机系统的核心组成部分。
本章介绍存储器层次结构(memory hierarchy)的基本概念和原理,讨论和分析如何利用局部性原理提高Cache/主存存储器层次结构、虚拟存储器(主存/辅存存储层次)的性能。
最后以Alpha机的存储系统为实例综合介绍存储体系的工作过程。
5.1存储器层次结构的基本概念5.1.1存储器的基本性能参数评价存储器性能的参数主要有三个方面:容量、速度与价格。
存储器容量用S=W×l×m表示,W为存储器字长,l为存储器字数,m则为存储器体数。
评价存储器的速度一般有以下几个参数:访问时间(access time)Ta:从存储器接到读请求到所读的字传送到数据总线上的时间间隔。
存储周期Tm:连续两次访问存储器之间所必需的最小时间间隔。
一般Tm > Ta。
存储带宽Bm:存储器被连续访问时所提供的数据传输速流,单位是位(或字节)/秒。
存储器的价格通常用单位字节价格来表示。
若总容量为S的存储器的总价格为C,则单位字节价格c=C/S。
5.1.2存储器层次结构的基本原理程序设计人员总是希望存储器的速度尽可能的高,以与处理器的速度相匹配;存储器的容量尽可能的大,以装下可能极大的程序;因此,高速度、大容量、低价格始终是存储体系的设计目标。
一方面,经过几十年的发展,存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、低价的存储器件以惊人的速度生产出来。
尽管如此,存储技术的发展证明单一工艺的单一存储器很难同时满足容量、价格、速度三方面的性能要求(见图5.1存储器的速度与价格的关系曲线)。
事实上,对容量与速度、速度与价格、容量与价格的性能要求是相互有矛盾的。
而且,存储器速度的改进始终跟不上CPU速度的提高。
图5.1 存储器的速度与价格的关系曲线另一方面,第一章中我们已介绍了局部性原理,即所有程序都具有这样的行为特性:程序倾向于再次使用最近刚用过的数据和指令。
计算机系统结构第5章_存储系统
3.存储系统的价格 计算公式:
当S2》S1时,C≈C2 S2与S1不能相差太大
C1 S1 C2 S 2 C S1 S 2
M1 (S1,C1,T1)
M2 (S2,C2,T2)
(S,C,T) 由两个存储器构成的存储系统
4. 存储系统的速度 表示方法:访问周期、存取周期、存储周期、存取时间等 命中率定义:在M1存储器中访问到的概率
解:
1 0.9 H (1 H ) 105
0.9H+90000(1-H)=1 89999.1 H=89999 计算得: H=0.999998888877777… ≈0.999999
5. 采用预取技术提高命中率 • 方法:不命中时,把M2存储器中相邻多个单 元组成的一个数据块取出来送入M1存储器中。
A n
• 低位交叉访问存储器结构框图
MBR
0...00...0 0...10...0 . . . F...F0...0 0...00...1 . . . F...F0...1
MBR ...
MBR
0...0F...F . . 存储体n-1 . F…FF...F
8KB~2MB 32MB~1GB 1GB~1TB 5GB~10TB 3.2 相联访问 SRAM 硬件调度 0.36 随机访问 DRAM 0.01 块访问 磁表面 0.0001 文件组 磁、光等
分配管理 编译器分配 硬件调度
操作系统 系统/用户 系统/用户 80~160 10~100 0.2~0.6
带宽(MB/S) 400~8000 400~1200 200~800
计算公式:
H n 1 H' n
其中:H’是采用预取技术之后的命中率 H是原来的命中率 n为数据块大小与数据重复使用次数的乘积
吉林大学计算机系统结构题目整合第五章
第五章存储层次知识点汇总存储器层次结构、存储层次性能参数(平均每位价格、命中率、平均访存时间)、存储层次4个问题、CPU 访存地址分割、全相联映像、直接映像、组相联映像、查找方法、替换算法(随机、先进先出、最近最少使用法)、写直达法、写回法、按写分配、不按写分配、Cache性能分析、3C失效(强制失效、容量失效、冲突失效)、Victim Cache、伪相联映像Cache、硬件预取、编译器优化(数组合并、内外循环交换、循环融合、分块)、写缓冲合并、单字宽存储器、多字宽存储器、多体交叉存储器、存储体、虚拟存储器(页式、段式)、快表(TLB)简答题1.单级存储器的主要矛盾是什么?通常采取什么方法来解决?(知识点:多级存储器)答:主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2.“Cache-主存”和“主存-辅存”层次的主要区别是什么?(知识点:存储层次)3.在存储层次中应解决哪四个问题?(知识点:存储层次的四个问题)答:(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
4.地址映像方法有哪几种?它们各有什么优缺点?(知识点:地址映像)(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache 的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
5.Cache的3C失效是哪三种失效?针对每种失效给出一种降低失效率的方法。
(知识点:3C失效)答:强制性失效、容量失效、冲突失效。
计算机体系结构名词解释大全
名词解释:(1)静态流水线——同一时间内,流水线的各段只能按同一种功能的连接方式工作。
(2)分段开采——当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。
(3)计算机体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性(4)时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
(5)TLB——个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本(6)结构冲突——指某种指令组合因为资源冲突而不能正常执行(7)程序的局部性原理——程序在执行时所访问的地址不是随机的,而是相对簇聚;这种簇聚包括指令和数据两部分。
(8)2:1Cache经验规则——大小为N的直接映象Cache的失效率约等于大小为N /2的两路组相联Cache的实效率。
(9)组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(10)数据相关——当指令在流水线中重叠执行时,流水线有可能改变指令读/写操作的顺序,使得读/写操作顺序不同于它们非流水实现时的顺序,将导致数据相关。
(1)动态流水线——同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
(2)透明性——指在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的特性。
(3)层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为特征。
(4)资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。
(5)快表——个专用高速存储器,用于存放近期经常使用的页表项,其内容是页表部分内容的一个副本。
(6)控制相关——指由分支指令引起的相关,它需要根据分支指令的执行结果来确定后续指令是否执行。
(7)存储层次——采用不同的技术实现的存储器,处在离CPU 不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
【2019年整理】计算机体系结构第5章存储层次
存 一般是硬盘)。“它们依靠辅助软硬件的作用,构成
储 一个整体,如图5.3所示。主存-辅存”层次常被用
层来
次 实现虚拟存储器,向编程人员提供大量的程序空间。
3. “Cache-主存”层和“主存-辅存”层的简单比
较
表5.1对“Cache-主存”层和“主存-辅存”层做1了0
5.1.4 两级存储层次之间的四个基本问题
体
系
• 存储器系统设计
结
构
3
5.1 存储器的层次结构
存储器是计算机的核心部件之一,其性能直接关
系到整个计算机系统性能的高低。存储器的三个主
第 要指标是:速度、容量和价格(即每位价格)。如何
五 章
以合理的价格,设计容量和速度满足计算机系统需
求的存储器系统,始终是计算机体系结构设计中的
存 关键问题之一。
储 显然,当S1<<S2时,C C2。 层 2. 命中率H
次 命中率为CPU访问存储系统时,
在M1中找到所需信息的概率。 访问M1和M2的次数为N1和N2。
7
不命中率或失效率F是指CPU访存时在M1找不到所 需信息的概率。
3. 平均访问时间TA
第 分两种情况来考虑CPU的一次访存:
五 章
(1)当命中时,访问时间即为TA1。 TA1常称为命中
存 5.2所示。现代计算机都采用Cache来解决这个问题。
储
层
次
9
“Cache-主存”层次的工作几乎完全由硬件实现,
因此它不但对应用程序员是透明的,而且对系统程
序员几乎也是透明的。
第 2. “主存-辅存”层次
五 章
为了弥补主存容量,在主存外面增加一个容量更
大、每位价格更低、但速度更慢的存储器(称为辅存,
计算机体系结构-第五章 存储层次
4.两种写策略 ◆ 写直达法 执行“写”操作时,不仅写入Cache,而且 也写入下一级存储器。 ◆ 写回法 执行“写”操作时,只写入Cache。仅当 Cache中相应的块被替换时,才写回主存。 (设置“污染位”)
5.两种写策略的比较 ◆写回法的优点: 速度快,所使用的存储器频 带较低; ◆写直达法的优点:易于实现,一致性好。
5.2.1 映像规则
1. 全相联映象
全相联:主存中的任一块可以被放置到Cache中的任意 一个位置。
特点: 空间利用率最高,冲突概率最低,实现最复 杂。
2. 直接映象
直接映象:主存中的每一块只能被放置到Cache中唯一 的一个位置。
特点: 空间利用率最低,冲突概率最高,实现最 简单。
例如:对于主存的第i 块,若它映象到Cache的第j块, 则:j=i mod (M ) (M 为Cache的块数)
的块)
存储器带宽是反映存储器速度的重要参数。连续访 问存储器时达到的数据传输速率称为存储器的最大带 宽。
提高主存性能的存储器组织结构
1. 增加存储器的宽度 如果把Cache 和主存的宽度增加为原来的2倍或4
倍,则主存的频带也相应地增加为原来的2倍或4倍。
不足之处: a.增加CPU和存储器之间的连接通路(存储器总线)
写合并: 当把数据写入写缓冲器时,判断本次所写入 单元的块地址是否与写缓冲器中某个有效块的地址相 同,若是,则把新数据与该块合并。
5.2.6 性能分析
1. 失效率
2. 平均访问时间 平均访问时间=命中时间+失效率×失效开销
3. 程序执行时间 在考虑存储器对系统性能影响时,可以将系统性
能描述为: CPU时间=(CPU执行周期数+存储器停顿周期数) ×时钟周期时间
计算机存储器的层次结构
计算机存储器的层次结构计算机存储器的层次结构是一种按照速度、容量和成本等因素进行优化的层次化设计,用于满足计算机对数据存储和读写的要求。
一般情况下,计算机存储器系统包括几个主要层次:寄存器、缓存、主存和辅助存储器。
下文将详细介绍每个层次的特点和作用。
1. 寄存器(Register):寄存器是计算机中速度最快的存储器,位于CPU内部,通常由硬件实现。
寄存器既可以存储指令,也可以存储数据。
它的特点是容量小且成本高,但读写速度非常快。
寄存器的主要作用是存储CPU当前的工作数据,如指令地址、运算结果等。
2. 缓存(Cache):缓存是位于CPU和主存之间的高速存储器,用于解决CPU和主存之间的速度不匹配问题。
由于主存的读写速度无法满足CPU的高速计算需求,缓存可以暂时存储主存中的部分数据,以提高CPU的访问速度。
缓存分为一级缓存(L1 Cache)和二级缓存(L2 Cache),一级缓存一般嵌入在CPU内部,容量较小但速度很快,而二级缓存位于CPU和主存之间,容量较大但速度稍慢。
3. 主存(Main Memory):主存也称为内存,是计算机中用于存储数据和指令的主要存储器。
主存分为随机存储器(RAM)和只读存储器(ROM)两种类型。
随机存储器是一种易失性存储器,具有读写功能,其内容在断电后会丢失。
而只读存储器是一种不可擦写、只读的存储器,用于存储固定不变的数据和程序。
主存的特点是容量大但速度较慢,价格适中。
4. 辅助存储器(Auxiliary Storage):辅助存储器通常是指硬盘、光盘等外部的大容量存储介质。
与主存相比,辅助存储器的容量更大,价格更便宜,但读写速度更慢。
辅助存储器一般被用于长期存储大量的数据和程序,以及作为主存的扩展。
存储器的层次结构的设计原理是通过将数据和指令分级存储在各个层次,根据访问频率和速度要求将数据从慢速的层次复制到快速的层次中,以提高计算机的运行效率。
具体而言,数据和指令首先从辅助存储器加载到主存中,当CPU需要访问数据时,首先在缓存中查找,如果找不到则从主存中读取,如果还是找不到则从辅助存储器中读取。
计算机体系结构第5章存储层次资料
用于确定所访问的数据在该块中的位置。
存 5.2.1 映象规则
三种映象规则如图5.4所示。
储 1. 全相联:主存中的任一块可以被放置到Cache中的
层 任何一个位置的方法。
次 2. 直接映象:主存中的每一个块只能被放置到Cache
中唯一的一个位置。
3. 组相联映象:主存中的每一个块可以被放置到
Cache中唯一的一个组中的任一个位置。
容 第 量技术的存储器技术;但从满足性能需求的角度来 五 看,又应采用昂贵且容量较小的快速存储器。走出 章 这种困境的唯一方法,就是采用多种存储技术,构 存 成存储器的层次结构,如图5.1所示。 储 层 次
5
在多级存储层次中,最靠近CPU的M1速度最快、 容量最小、价格最高;而远离CPU的Mn则是速度最 慢、容量最大、价格最低。
时间(hit-time)。
存 储
(2)大多数二级存储层次结构下,当不命中M1时, 就必须从M2中访问这个字,并把包含所请求的字的
层 信息块传送到M1 ,之后CPU才能访问这个字。假设
次 传送一个信息块所需的时间为TB,则不命中时的访
问时间为:
TA2+TB=TA1+TM
其中TM=TA2+TB,它为从向M2发出访问请求到把整
储 5.1.1 从单级存储器到多级存储器 层 计算机软件设计者和计算机用户总是希望存储器
次 的容量越大越好,而且速度要快,价格也不能太昂
贵。而实际情况却是:速度越快,每位价格越高;
容量越大,每位价格越低;容量越大,速度越慢。
人们对存储器设计的三个指标要求是互相矛盾的。 4
解决问题的办法必须切合实际地综合考虑:从实 现“容量大、价格”的要去来看,应采用能提供大
存 5.2所示。现代计算机都采用Cache来解决这个问题。
存储层次汇总
第五章存储层次5.1名词解释1.存储层次——采用不同的技术实现的存储器,处在离CPU不同距离的层次上,目标是达到离CPU最近的存储器的速度,最远的存储器的容量。
2.全相联映象——主存中的任一块可以被放置到Cache中任意一个地方。
3.直接映象——主存中的每一块只能被放置到Cache中唯一的一个地方。
4.组相联映象——主存中的每一块可以放置到Cache中唯一的一组中任何一个地方(Cache 分成若干组,每组由若干块构成)。
5.替换算法——由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache 中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。
这时,需要被迫腾出其中的某一块,以接纳新调入的块。
6.L RU——选择最近最少被访问的块作为被替换的块。
实际实现都是选择最久没有被访问的块作为被替换的块。
7.写直达法——在执行写操作时,不仅把信息写入Cache中相应的块,而且也写入下一级存储器中相应的块。
8.写回法——只把信息写入Cache中相应块,该块只有被替换时,才被写回主存。
9.按写分配法——写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
10.不按写分配法——写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。
11.写合并——在往缓冲器写入地址和数据时,如果缓冲器中存在被修改过的块,就检查其地址,看看本次写入数据的地址是否和缓冲器内某个有效块的地址匹配。
如果匹配,就将新数据与该块合并。
12.命中时间——访问Cache命中时所用的时间。
13.失效率——CPU访存时,在一级存储器中找不到所需信息的概率。
14.失效开销——CPU向二级存储器发出访问请求到把这个数据调入一级存储器所需的时间。
15.强制性失效——当第一次访问一个块时,该块不在Cache中,需要从下一级存储器中调入Cache,这就是强制性失效。
16.容量失效——如果程序在执行时,所需要的块不能全部调入Cache中,则当某些块被替换后又重新被访问,就会产生失效,这种失效就称作容量失效。
计算机体系结构问答题第5章
第5章存储层次1. 单级存储器的主要矛盾是什么?通常采取什么方法来解决?主要矛盾:(1) 速度越快,每位价格就越高。
(2) 容量越大,每位价格就越低。
(3) 容量越大,速度越慢。
采取多级存储层次方法来解决。
2. 评价存储层次的主要参数有哪些?存储层次的平均每位价格、命中率或失效率、平均访问时间。
3. “Cache-主存”和“主存-辅存”层次的主要区别是什么?4. 在存储层次中应解决哪四个问题?(1)映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
(2)查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
(3)替换算法:当发生失效时,应替换哪一块。
(4)写策略:当进行写访问时,应进行哪些操作。
5. 地址映像方法有哪几种?它们各有什么优缺点?(1)全相联映像。
实现查找的机制复杂,代价高,速度慢。
Cache空间的利用率较高,块冲突概率较低,因而Cache的失效率也低。
(2)直接映像。
实现查找的机制简单,速度快。
Cache空间的利用率较低,块冲突概率较高,因而Cache的失效率也高。
(3)组相联映像。
组相联是直接映像和全相联的一种折中。
6. 组相联Cache比相同容量的直接映像Cache的失效率低。
由此是否可以得出结论:采用组相联Cache一定能带来性能上的提高?为什么?不一定。
因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多路选择开关。
7. Cache中,有哪两种实现并行查找的方法?(1)用相联存储器实现。
(2)用单体多字存储器和比较器来实现。
8. 替换算法有哪几种?它们各有什么优缺点?(1)随机法:简单、易于用硬件实现,但这种方法没有考虑Cache块过去被使用的情况,反映不了程序的局部性,所以其失效率比LRU的高。
(2)先进先出法:容易实现。
它虽然利用了同一组中各块进入Cache的顺序这一“历史”信息,但还是不能正确地反映程序的局部性。
(3)最近最少使用法LRU:失效率最低。
存储层次
在执行“写”操作时,只把信息写入Cache中相应的块。该块只有在被替换时,才被写回主存。
按写分配法
写失效时,先把所写单元所在的块调入Cache,然后再进行写入。
不按写分配法
写失效时,直接写入下一级存储器中,而不把相应的块调入Cache。
分离Cache
将单一的Cache分为两个Cache:一个专门存放指令,另一个专门存放数据。
混合Cache
将指令和数据放在一个统一的Cache中。
强制性失效
当第一次访问一个块时,该块不在Cache中,需从下一级存储器中调入Cache,这就是强制性失效。
容量失效
如果程序执行时所需的块不能全部调入Cache中,则当某些块被替换后,若又重新被访问,就会发生失效。这种失效称为容量失效。
冲突失效
在组相联或直接映像Cache中,若太多的块映像到同一组(块)中,则会出现该组中某个块被别的块替换(即使别的组或块有空闲位置),然后又被重新访问的情况。这就发生了冲突失效。
第5章存储层次
存储器的三个主要指标
从用户的角度来看,存储器的三个主要指标是:容量、速度和价格。
多级存储层次
由若干个采用不同实现技术的存储器构成的存储器系统。各存储器处在离CPU不同距离的层次上。其目标是速度接近于离CPU最近的存储器的速度,容量达到离CPU最远的存储器的容量。
命中率H
CPU在第一级存储器中找到所需数据的概率。
组相联映像
当把一个块从主存调入Cache时,它可以被放置到Cache中唯一的一个组中的任何一个位置(Cache被等分为若干组,每组由若干个块构成)。
n路组相联
在组相联映像中,如果每组中有n个块,则称该映像规则为n路组相联。
相联度
第五篇存储层次
▪ Q3: Which block should be replaced on a miss? (Block replacement)
▪ Q4: What happens on a write? (Write strategy)
微处理器与DRAM 的性能差异
Processor-DRAM Memory Gap (latency)
Performance
100,000
10,000
1,000 100 10 1 1980
1985
Proces s or Mem ory
Processor-Memory Performance Gap Growing
计算机体系结构 Chapter5.7
现代计算机系统的多级存储层次
▪ 应用程序局部性原理: 给用户
• 一个采用低成本技术达到的存储容量. (容量大,价格低) • 一个采用高速存储技术达到的访问 0.25ns Size (bytes): 500B
• Hit Rate(命中率): 存储器访问在较高层命中的比例 H= N1/(N1+N2) • Hit Time(命中时间):访问较高层的时间,TA1
▪ 失效(Miss):访问的块不在存储系统的较高层次上
• Miss Rate (失效)= 1 - (Hit Rate) = 1 – H = N2/(N1+N2) • 当在M1中没有命中时:一般必须从M2中将所访问的数据所在块搬到M1中,然后
• 全相联方式:即所调入的块可以放在cache中的任何位置 • 直接映象方式:主存中每一块只能存放在cache中的唯一位置 一般,主存块地址i 与cache中块地址j 的关系为:
第5章-存储层次教学文案
2. 回写法(write back)
只写入Cache,在被替换时才写回主存
系统结构
直写和回写的比较
存储层次
❖ 直写策略
优点:简单可靠 缺点:总线操作频繁、影响工作速度 解决方法:在Cache与主存间设置一级/多级缓
冲器,形成实用的“缓冲直写”方式,提高速 度
CPU时间= (CPU执行周期数+存储器停顿周期数)×时钟周期时间
❖ 只考虑Cache失效引起停顿,并将Cache命中 所用时钟周期数归为CPU执行时钟周期数的部 分
存储器停顿时钟周期数=访存次数×失效率×失效开销
系统结构
CPU执行时间
存储层次
CPU时间= IC(CPEIXECUTI+ ON存储指器令停条顿数周) 期 时数钟周期时间
❖ 统一Cache结构的失效率低于分离Cache结构
系统结构
分离和统一Cache性能比较:例题5.1-2 存储层次
❖ 平均访存时间
=取指比例×(指令命中时间+指令失效率×失效开销) +数据比例×(数据命中时间+数据失效率×失效开销)
❖ 分离Cache的平均访存时间
=75%×(1+0.64%×50)+25%×(1+6.47%×50) =2.05 (已知:命中时间=1,失效开销=50)
结束
向Cache传送含RA的主存块
系统结构
5.1.4 存储层次的四个问题
存储层次
1. 映像规则(block placement)
Where can a block be placed in the upper level?
2. 查找方法(block identification)
How is a block found if it is in the upper level?
计算机系统结构-名词解释
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
存储器层次结构C
Q1&Q2: 块可以被放到哪以及如何找到一个块
Direct mapped Set associative
# of sets # of entries (# of entries)/ associativity
Fully associative 1
Entries per set 1 Associativity (typically 2 to 16) # of entries
加速地址转换
虚拟页号
V 标记
1 1 1 0 1
页表寄存器
物理页 V 基地址 1 1 1 1 1 1 0 1 0 1 0
页表 (在物理存储器中)
物理页 基地址
快表Leabharlann 主存储器 硬盘存储器Translation Lookaside Buffers (TLBs) 快表
正和其它的cache一样, TLB 的组织形式也是全相联,组 相联,直接映射这几种
复习: 存储器层次结构
充分利用了局部性的原则,在最快和最廉价的技术帮助下提 供给用户越来越多可用的存储空间
访问时间随 离CPU距离 的增加而增 加
Processor
4-8 bytes (word)
Inclusive– what is in L1$ is a subset of what
is in L2$ is a
Impossible – data not allowed in cache if page is not in memory
一些虚拟存储器的设计参数
Total size Total size (KB) Block size (B) Hit time Miss penalty (clocks) Miss rates
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主存
◆ 并行查找的实现方法:
▲ 相联存储器 相联存储器是指其中任一存储项都可以直接
用该项的内容作为地址来存取的存储器。
▲ 单体多字存储器+比较器
物理地址 职工号
姓名
出生年月
工资数
n
5697102
张三
n+1
5199109
李四
n+2
6296311
王五
n+3
7100212
赵八
n+4
6211403
吴九
容量: 8KB 块大小: 32B 块数: 256 调块: 不按写分配 映象方法: 直接映象 “写”策略: 写直达
写缓冲器大小:4个块
2. 结构图
3. 失效情况下的操作 读失效: Cache向CPU发出一个暂停信号,通知它等
待,并从下一级存储器中读如32个字节, 填入对应的Cache块。 写失效: CPU不对Cache进行操作。 4. 写缓冲的结构
6. 写缓冲器
7. “写”操作时的调块 ◆ 按写分配(写时取) 写失效时,先把所写单元所在的块调入 Cache,再行写入。 ◆ 不按写分配(绕写法) 写失效时,直接写入下一级存储器而不 调块。
8. 写策略与调块 写回法 ── 按写分配 写直达法 ── 不按写分配
5.2.5 Cache举例 例子:DEC的Alpha AXP21064中的内部数据 Cache。 1. 简介
存储体的宽度通常都是一个字,这样就无需改变总 线的宽度和Cache。但同时向几个体发送地址能使它 们同时进行读访问。
4路多体交叉存储器
下图示出了高位交叉访问的存储器结构(高位连续地 址分别处于不同体中),图中结构具有m个体,每个体 内容量为n个字,存储单元的地址由两部分组成,地址 码的低位部分为各体内地址,由 0~(n-1);高位字段表 示了各体的体号, 由0~(m-1)。寻址时,地址的高位 字段指出寻址的体, 低位字段送到该体的地址寄存器 (MAR)。存储器的总容量为m×n个字,地址码长度为 log2(m×n)位,其中,地址的高字段为log2m位,低 位字段为log2n位。
信 息的概率。
F=1-H
3. 平均访问时间 TA
对大部分系统: TM=TA2+TB
由于
TA= H TA1+(1-H )(TA1+TM )
于是
TA=TA1+(1-H )TM
或
TA=TA1+F TM
TA1 ── 命中时间 TM ── 失效开销
5.1.3 “Cache-主存”和“主存-辅存” 层次
一般来说: “Cache-主存”层次:弥补主存速度的不足; “主存-辅存” 层次:弥补主存容量的不足。
为了弥补主存速度的不足 为了弥补主存容量的不足
存储管理实现
主要由专用硬件实现
主要由软件实现
访问速度的比值 (第一级和第二级)
典型的块(页)大小
CPU对第二级的 访问方式
失效时CPU是否切换
几比一 几十个字节 可直接访问
不切换
几百比一 几百到几千个字节
均通过第一级 切换到其他进程
5.1.4 存储层次的四个问题 1.当把一个块调入高一层(靠近CPU)存储器时,可以 放在哪些位置上?(映象规则)
相对地簇聚;这种簇聚包括指令和数据两部分。 ◆ 程序的时间局部性:程序即将用到的信息很可能就 是目前正在使用的信息。 ◆ 程序的空间局部性:程序即将用到的信息很可能与 目前正在使用的信息在空间上相邻或者临近。
5.1.2 存储层次的性能参数
S,TA , C 设: S ── 容量
TA ── 访问时间 C ── 每位价格 下面仅考虑由M1和M2构成的两级存储层次: M1的参数:S1,TA1,C1 M2的参数:S2,TA2,C2
1. “写”操作所占的比例 Load指令:26% Store指令:9% “写”在所有访存操作中所占的比例: 9%/(100%+26%+9%)≈7% “写”在访问数据Cache操作中所占的比例: 9%/(26%+9%)≈25%
2. “写”操作必须在确认是命中后才可进行
3.“写”访问有可能导致Cache和主存内容的不 一致
绝大多数计算机的Cache: n ≤4。
5.2.2 查找方法
如何确定Cache中是否有所要访问的块?若有的话, 如何确定其位置?这是通过查找目录表来实现的。
Cache中设有一个目录表,该表所包含的项数与 Cache的块数相同,每一项对应于Cache中的一个块。
当一个主存块被调入Cache中某一个块位置时,它的 标识就被填入目录表中与该Cache块相对应的项中,并 且该项的有效位被置“1”。
的块)
存储器带宽是反映存储器速度的重要参数。连续访 问存储器时达到的数据传输速率称为存储器的最大带 宽。
提高主存性能的存储器组织结构
1. 增加存储器的宽度 如果把Cache 和主存的宽度增加为原来的2倍或4
倍,则主存的频带也相应地增加为原来的2倍或4倍。
不足之处: a.增加CPU和存储器之间的连接通路(存储器总线)
根据映象规则不同,一个主存块可能映象到Cache中 的一个或多个Cache块位置。为便于讨论,我们把它们 称为候选位置。当CPU访问该主存块时,必须且只需查 找它的候选位置所对应的目录表项(标识)。如果有与 所访问的主存块相同的标识,且其有效位为“1”,则它 所对应的Cache块即是所要找的块。
主存块地址 i:
k
g位
上述的j 和k 通常称为索引。
n 路组相联:每组中有n 个块( n=M /G ),n 称为相联
度。 相联度越高,Cache空间的利用率就越高,块冲突概
率就越低,失效率也就越低。
全相联 直接映象 组相联
n (路数) M
1
1<n<M
G (组数)
1
M 1<G<M
相联度一定是越大越好?
5.1.1 从单级存储器到多级存储器 1. 存储器的三个主要指标 从用户的角度来看,存储器的三个主要指标是:
容量、速度和价格(每位价格)。
2. 人们对这三个指标的期望
3. 这三个指标相互矛盾
4. 解决方法 采用多种存储器技术,构成存储层次。
程序的局部性原理 程序在执行时所访问地址的分布不是随机的,而是
第五章 存储层次
存储器是计算机的核心部件之一,其 性能直接关系到整个计算机系统性能的高 低。
如何以合理的价格设计出容量和速度 满足计算机系统要求的存储器系统,始终 是计算机体系结构设计中关键的问题之一。
5.1 存储器的层次结构
计算机软件设计者和计算机用户对于存储器容 量的需求是无止境的,他们希望容量越大越好,而 且速度还要快,价格要便宜。仅用单一的一种存储 器是很难达到这一目标的。较好的方法是采用存储 层次,用多种存储器构成存储器的层次结构。
设M=2m,则当表示为二进制数时,j 实际上就是i 的 低m 位:
i:
j
m位
3. 组相联映象
组相联:主存中的每一块可以被放置到Cache中唯一的 一个组中的任何一个位置。
组的选择常采用位选择算法
若主存第i 块映象到第k 组,则: k=i mod(G) (G为Cache的组数)
设G=2g,则当表示为二进制数时,k 实际上就是i 的低 g 位:
为了保证速度,对各候选位置的标识的检查比较应并 行进行。
辅助硬件 Cache
目录表
1 10000000 0000
CPU
1 10000000 0001 1 10000000 0010
1 10000000 0011
例如:访问内存地址8003H、8013H, 即10000000 00000011B、
10000000 00010011B。
5.2.7 改进Cache性能
平均访存时间=命中时间+失效率×失效开销 可以从三个方面改进Cache的性能: (1) 降低失效率 (2) 减少失效开销 (3) 减少Cache命中时间
5.6 主存
1. 主存的主要性能指标:延迟和带宽 2. 以往:Cache主要关心延迟,I/O主要关心带宽 3. 现在:Cache关心两者(由于二级Cache使用较大
1. “Cache-主存” 层次
“Cache - 主存”层次的实现:主要借助于辅助硬件。
2. “主存-辅存”层次 “主存-辅存”层次的实现:主要借助于辅助软硬件。
3. 两者的比较 Cache-主存”与“主存-辅存”层次的区别。
存储层次
比较项目
“Cache -主存”层次 “主存-辅存”层次
目的
1. 每位价格C C= ─CC─12SSS─112+─+─
S2 如果 S1<< S2,C C2。
2. 命中率 H 和失效率 F
命中率 H :CPU访问存储系统时,在M1中找到所需信
息 的概率。
H=N1/(N1+N2) N1 ── 访问M1的次数 N2 ── 访问M2的次数 失效率F : CPU访问存储系统时,在M1中找不到所需
写合并: 当把数据写入写缓冲器时,判断本次所写入 单元的块地址是否与写缓冲器中某个有效块的地址相 同,若是,则把新数据与该块合并。
5.2.6 性能分析
1. 失效率
2. 平均访问时间 平均访问时间=命中时间+失效率×失效开销
3. 程序执行时间 在考虑存储器对系统性能影响时,可以将系统性
能描述为: CPU时间=(CPU执行周期数+存储器停顿周期数) ×时钟周期时间
10000000 00000000 10000000 00000001 10000000 00000010 10000000 00000011 10000000 00000100 10000000 00000101 10000000 00000110 10000000 00000111 10000000 00001000 10000000 00001001 10000000 00001010 10000000 00001011 10000000 00001100 10000000 00001101 10000000 00001110 10000000 00001111 10000000 00010000 10000000 00010001 10000000 00010010 10000000 00010011