计算机系统结构课件第3章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例如,IBM 370/165机的Cache采用组相联映象方式。每组有4块, 为了实现LRU替换算法,在块表中为每一块设置一个2位的计数器。在 访问Cache的过程中,块的装入、替换及命中时,计数器的工作情况如 图3-20所示。
3.3.5 Cache一致性问题
Cache的内容是主存内容的一部分,是主存的一个小的副本,内容 应该与主存保持一致。由于(1)CPU改写了Cache,没有立即写主存; (2)I/O处理机或I/O设备改写了主存,而Cache的内容没有更新,造成 Cache的内容与主存内容不一致,如图3-21所示。
3.3 高速缓冲存储器Cache
任何程序或数据被CPU使用必须先加载到主存储器中, 主存的速度在很大程度上决定了系统的运行速度。程序在 运行期间,在一个较短的时间间隔内,由程序产生的地址 往往集中在存储器的一个很小范围的地址空间内。指令地 址通常是连续分布的,循环程序段和子程序段要多次重复 执行,因此对这些地址中的内容的访问具有时间集中分布 的倾向。这种对局部范围的存储器地址频繁访问,而对此 范围外的地址访问甚少的现象被称为程序访问的局部化。
3.1.1 存储系统的定义
在一台计算机中,通常有多种用途不同的存储器,如主存储器(或 称内存)、Cache、磁盘存储器、各种缓冲存储器、磁盘和光盘存储器 等。从存储器的访问方式看,有直接译码、先进先出、随机访问、相 联访问,也有块交换、文件交换等。 两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、 或软件与硬件相结合的方法连接起来成为一个系统。这个系统对应用 程序员透明,从应用程序员看它是一个存储器,这个存储器的速度接 近速度最快的那个存储器,存储容量与容量最大的那个存储器相等或 接近,单位容量的价格接近最便宜的那个存储器。
地址映象规则:主存的任意一字块可映象到Cache中的任意一字块。 (1)主存与Cache分成相同大小的字块。 (2)主存的某一字块可以装入Cache的任意一字块空间中。 图3-15示出了目录表(字块标记)的格式及地址变换规则。目录表存 放在相关(联)存储器中,其中包括三部分:主存的字块号、Cache字块 号、有效位(也称装入位)。由于是全相联方式,因此目录表的容量应 当与Cache的字块数相同。
第3章 存储系统
存储系统原理 相联存储器 高速缓冲存储器Cache 虚拟存储器 存储器保护技术
3.1 存储系统原理
存储系统与存储器是两个完全不同的概念。如果一台计算机中只有 存储器,甚至有多种存储器,但没有存储系统,那么这台计算机的性 能将会是很差的,这些存储器的性能也不可能得到充分发挥。 一个存储器的性能通常用速度、容量、价格三个主要指标来表示。
3.3.2 Cache的组成与工作原理
当CPU送出主存访问地址,首先查找标记检查访问的主存字块是否 在Cache中。若访问的字块已经在Cache中存在,则“命中”,直接从标 记中取出Cache的块号,完成主存地址到Cache地址的变换;若不存在, 则输出“未命中”,通过替换策略将主存的字块加载到Cache中。标记由 相联存储器构成,可实现快速信息查询,Cache的结构和工作原理如图313所示。
3.3.4 Cache置换策略与主存更新方法
1.随机法(RAND法) 随机法是随机地确定替换的字块。设置一个随机数产生器, 依据所产生的随机数,确定替换的字块。这种方法简单、易于实 现,但命中率比较低。 2.先进先出法(FIFO法) 先进先出法是选择哪些最先调入的字块进行替换。当最先调 入并被多次命中的块,很可能被优先替换,因而不符合局部性规 律。这种方法的命中率比随机法好些,但还是不满足要求。先进 先出方法易于实现,命中率比较低,在微机中很少采用。 3.最近最少使用法(LRU法) LRU法是依据各字块使用的频度情况,总是选择哪些最近最 少使用的字块替换。这种方法较好地反映了程序和数据的局部性 规律。实现LRU策略的方法有多种。下面简单介绍计数器法、寄 存器栈法及硬件逻辑比较对法的设计思路。
3.3.3 地址映像与变换
地址映象是指某一数据在主存中的地址与在Cache中的地址之间的 对应关系,也就是主存的内容如何装载到Cache。在计算机中主要有三 种地址映象方式。 1.全相联方式 全相联方式的对应关系如图3-14所示。如果Cache的字块数为Cb,主 存的字块数为Mb,则地址映象关系共有Cb×Mb种。
T1 e T
访问效率越高,说明存储系统的速度与相对比较快的那个存储器的 速度就越接近,这正是所希望的。把上述式合并得到:
e T1 1 T2 f (H , ) H T1 (1 H ) T 2 H (1 H ) T 2 T1 T1
3.1.2 存储系ห้องสมุดไป่ตู้的层次结构
随着CPU速度的不断提高要求存储器的工作速度尽可能快,而软 件规模的扩大和数据处理量的加大又要求存储器的容量尽可能大, 同时,用户总是希望存储器的价位尽可能低。然而,采用单一的存 储模式很难使存储器同时满足速度快、容量大、价格低的要求。解 决这一问题的较好方法是设计一个快慢搭配、具有层次结构的存储 系统,图3-5表明了现代计算机系统中存储器的典型结构。它呈金字 塔形,越往上,存储器件的速度越快,CPU访问的频度越高;同时, 存储器的价格也越高,系统的拥有量越小。
3.2 相联存储器
相联存储器是按内容访问的存储器,即在相联存储器中,一个字 是通过它的部分内容而不是它的地址进行检索的,适用于快速查询的 场合。 1.相联存储器的基本原理 相联存储器是指其中任一存储项内容作为地址来存取的存储器。 选用来寻址存储器的子段叫做关键字。存放在相联存储器中的项可以 看成具有KEY,DATA这样的格式。其中KEY是地址,DATA是被读 写信息。 相联存储器的基本原理是把存储单元所存内容的某一部分作为检 索项(即关键字项),去检索该存储器,并将存储器中与该检索项符合 的存储单元内容进行读出或写入。 2.相联存储器的组成 相联存储器由存储体、检索寄存器、屏蔽寄存器、符合寄存器、 比较线路、代码寄存器、控制线路等组成,如图3-11所示。
为了达到提高主存储器速度的目的,在采用低位地址交叉方 式的存储器,在一个存储器周期内,n个存储体必须分时启动,启 动的时间如图3-10所示。 从图3-10可知,采用低位地址交叉方式工作的存储器实际上 是一种采用流水线方式工作的并行存储器系统。在连续工作的情 况下,保持每个存储体的速度不变,而整个存储器的速度可望提 高n倍。
3.1.5 交叉访问存储器
交叉访问存储器通常有两种工作方式,(1)地址码高位交叉;(2) 地址码低位交叉。 1.高位地址交叉访问存储器 高位地址交叉访问存储器的工作原理如图3-7所示。地址码的低位部 分是各个存储体的体内地址,高位部分用来区分存储体的体号。
2.低位地址交叉访问存储器 低位地址交叉访问存储器的主要目的是提高存储器访问速度。在 提高访问速度的同时,由于增加了存储器模块的数量,也就增加了存 储器的容量。 低位地址交叉访问存储器的工作原理如图3-8所示,地址码的使用 方法与高位交叉方式正好相反,其低位地址是存储体的体号,高位地 址是存储体的体内地址。
2.直接相联方式 图3-16所示是直接相联映象规则。主存中各区内相同字块号的数据 块都可以分别调入缓存中字块号相同的地址中,但同时只能有一个区的 块存入缓存。由于主、缓存字块号相同,因此,目录表登记时,只记录 调入字块的区号即可。
图3-17所示为主存、Cache地址格式、目录表格式及地址变换规则。 主存、Cache字块号及块内地址两个字段完全相同。目录表存放在相联存 储器中,其中包括二部分:数据块在主存的区号和有效位。目录表的容 量与Cache的字块数相同。
3.组相联映象方式 (1)主存和Cache按同样大小划分成块。 (2)主存和Cache按同样大小划分成组。 (3)主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成 区,主存中每一区的组数与缓存的组数相同。 (4)当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各 区中的某一块只能存入缓存的同组号的空间内,但组内各字块地址之间 则可以任意存放,即从主存的组到Cache的组之间采用直接映象方式;在 两个对应的组内部采用全相联映象方式。 图3-18为组相联的映象关系,缓存分Cg个组,每组有Cb块;主存是缓 存的Me倍,所以共分有Me个区,每个区有Cg组,每组有Gb块。主存地 址格式中应包含4个字段:区号、区内组号、组内字块号和块内地址。而 缓存中包含3个字段:组号、组内字块号、块内地址。主存地址与缓存地 址的转换有两部分,组地址是按直接映象方式,按地址进行访问,而块 地址是采用全相联方式,按内容访问。
C1 S1 C 2 S 2 C S1 S 2
当S2>>S1时,则有C≈C2。因此,整个存储系统的单位容量 价格C接近于比较便宜的M2存储器。
3.工作速度 存储系统的访问周期与命中率H有非常大的关系。命中率可以简单 地定义为在M1存储器中访问到的概率,可通过模拟实验法得到。选择 一组有代表性的程序,在程序执行过程中分别统计对M1存储器的访问 次数N1和对M2存储器的访问次数N2,然后用下式计算。 N1 H T H T1 (1 H ) T 2 N1 N 2 为了便于相互进行比较,定义存储系统的访问效率为:
对于CPU改写了Cache内容,没有改写主存的情况而引起的不一致 可用如下方法解决: (1)全写法(Write Through,WT) WT法也称写直达法,即在对Cache进行写操作的同时,也对主存 该内容进行写入。优点是可靠性较高,操作过程比较简单;缺点是写 操作速度得不到改善,与写主存的速度相同。 (2)写回法(Write Back,WB) WB法是在CPU执行写操作时,只写入Cache不写入主存,当被改 写的字块被替换时才一次将Cache的内容写到主存。WB法的优点是速 度较快,可靠性较差,控制操作比较复杂。
3.1.4 存储器并行访问
要在一个存储周期内访问到多个数据,最直接的办法是增加存储器 的字长。例如,一般存储器在一个存储周期内只能访问到一个字。如图 3-6(a)所示,一个存储容量为m字×w位的存储器,每个存储周期只能访 问到w位(一个字)。现在把存储器的字方向增加n倍,成为n×w位,为 了保持总的存储容量不变,可以把存储器的地址数相应减少n倍,成为 m/n个地址。这样,在一个存储周期内就能访问到n个字,如图3-6(b)所 示。
图3-1是一个典型的存储系统,它由n个存储器连接起来组成,这n 个存储器的速度、容量和价格各不相同。从外部可把它看作一个存储 器,这个存储器的速度近似等于所有存储器中存储周期最小的,容量 与所有存储器中容量最大的相等或接近,价格近似等于所有存储器种 价格最便宜的。
1.存储容量 由于在计算机的使用者(应用程序员或系统程序员)看来, 存储系统的容量要接近M2存储器的容量。因此,可选择M2存储 器进行编址,对于M1存储器可以不编址,或只在系统内部进行 编址。对存储系统进行编址的要求是:对计算机的使用者提供 尽可能大的地址空间,而且能对这个地址空间进行随机访问。 2.单位容量的平均价格 整个存储系统的平均单位容量价格可用下式计算:
3.1.3 频带平衡 存储器的速度能不能跟得上系统的需要,是影响整 个计算机系统性能的极为关键的问题,这就是存储器 的频带平衡问题。 使计算机系统中各级存储器的频带达到平衡,是系 统结构设计者的一项重要工作。可通过三条途径解决 主存储器的频带平衡问题。 (1)多个存储器并行工作,并且用并行访问和交叉 访问等方法提高存储器的访问速度。 (2)设置各种缓冲存储器。 (3)采用存储系统。特别是Cache存储系统,这是 目前计算机系统中提高存储器速度最有效的方法。
3.3.1 Cache的基本概念 高速缓冲存储器Cache是主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高 得多,接近于CPU的速度。Cache的功能是用来存放那些近 期需要运行的指令与数据,提高CPU对存储器的访问速度。 在Cache中存储了主存的一个小小的副本,Cache要解决2个 技术问题: (1)主存地址与缓存地址的映象及转换; (2)按一定原则对Cache的内容进行替换。 在技术上就是如何将CPU送出的主存地址变换为Cache 的地址。
相关文档
最新文档