计算机组成原理第三章课件(白中英版).ppt

上传人:zhu****ei 文档编号:2857027 上传时间:2019-12-02 格式:PPT 页数:103 大小:1.47MB
返回 下载 相关 举报
计算机组成原理第三章课件(白中英版).ppt_第1页
第1页 / 共103页
计算机组成原理第三章课件(白中英版).ppt_第2页
第2页 / 共103页
计算机组成原理第三章课件(白中英版).ppt_第3页
第3页 / 共103页
点击查看更多>>
资源描述
3.1 存储器概述 3.2 随机读写存储器 3.3 只读存储器和闪速存储器 3.4 高速存储器 3.5 cache存储器 3.6 虚拟存储器 3.7 存储保护,第3章 存储系统,3.1 存储器概述,存储器的两大功能: 1、 存储(写入Write) 2、 取出(读出Read) 三项基本要求: 1、大容量 2、高速度 3、低成本,3.1 存储器概述,概念 1、基本存储单元:存储一位(bit)二进制代码的存储元件称为基本存储单元(或存储元) 2、存储单元:主存中最小可编址的单位,是CPU对主存可访问操作的最小单位。 3、存储器:多个存储单元按一定规则组成一个整体。,3.1.1 存储器的分类,1. 按存储介质分类 2. 按存取方式分类 3. 按存储器的读写功能分类 4. 按信息的可保存性分类 5. 按在计算机系统中的作用分类,3.1.1 存储器分类,半导体存储器:用半导体器件组成的存储器 磁表面存储器:用磁性材料做成的存储器, 按存储介质分, 按存储器的读写功能分:ROM,RAM 按信息的可保存性分:非永久记忆,永久记忆 按在计算机系统中的作用分: 主存、辅存、高速缓存、控制存储器,3.1.2 存储器的分级结构,示意图,虚拟存储器,寄存器 微处理器内部的存储单元 高速缓存(Cache) 完全用硬件实现主存储器的速度提高 主存储器 存放当前运行程序和数据,采用半导体存储器构成 辅助存储器 磁记录或光记录方式 磁盘或光盘形式存放可读可写或只读内容 以外设方式连接和访问,3.1.3 主存储器的技术指标,存储容量 主存存储容量:以字节B(Byte)为基本单位 半导体存储器芯片:以位b (Bit)为基本单位 存储容量以2101024规律表达KB,MB,GB和TB 厂商常以1031000规律表达KB,MB,GB和TB 存取时间(访问时间) 发出读/写命令到数据传输操作完成所经历的时间 存取周期 两次存储器访问所允许的最小时间间隔 存取周期大于等于存取时间 存储器带宽(数据传输速率) 单位时间里存储器所存取的信息量,3.2 随机读写存储器,SRAM(静态RAM:Static RAM) 以触发器为基本存储单元 不需要额外的刷新电路 速度快,但集成度低,功耗和价格较高 DRAM(动态RAM:Dynamic RAM) 以单个MOS管为基本存储单元 要不断进行刷新(Refresh)操作 集成度高、价格低、功耗小,但速度较SRAM慢,3.2.1 SRAM存储器,6个开关管组成一个存储元,存储一位信息 N(=1/4/8/16/32)个存储元组成一个存储单元 存储器芯片的大量存储单元构成存储体 存储器芯片结构: 存储单元数每个存储单元的数据位数 2MN芯片的存储容量 M芯片地址线的个数 N数据线的个数,SRAM的控制信号,片选(CS*或CE*) 片选有效,才可以对芯片进行读/写操作 无效时,数据引脚呈现高阻状态,并可降低功耗 读控制(OE*) 芯片被选中有效,数据输出到数据引脚 对应存储器读MEMR* 写控制(WE*) 芯片被选中的前提下,若有效,将数据写入 对应存储器写MEMW*,SRAM 2114,静态MOS存储器,基本存储元6管静态MOS存储元 A、电路图: 由两个MOS反相器交叉耦合而成的双稳态触发器。,基本存储元6管双向选择MOS存储元 在纵向一列上的6管存储元共用一对Y选择控制管T6 、T7 ,这样存储体管子增加不多,但是双向地址译码选择,因为对选择线选中的一列只是一对控制管接通,只有X选择线也被选中,该位才被重合选中。,静态MOS存储器,基本存储元6管静态MOS存储元 B、存储元的工作原理 写操作。在字线上加一个正电压的字脉冲,使T2 、T3 管导通。若要写“0”,无论该位存储元电路原存何种状态,只需使写“0”的位线BS0 电压降为地电位(加负电压的位脉冲),经导通的2 管,迫使节点的电位等于地电位,就能使1 管截止而0 管导通。写入1,只需使写1的位线BS1 降为地电位,经导通的T3 管传给节点,迫使T0 管截止而T1 管导通。 写入过程是字线上的字脉冲和位线上的位脉冲相重合的操作过程。,静态MOS存储器,基本存储元6管静态MOS存储元 B、存储元的工作原理 读操作。 只需字线上加高电位的字脉冲,使T2 、T3 管导通,把节点A、B分别连到位线。若该位存储电路原存“0”,节点是低电位,经一外加负载而接在位线0 上的外加电源,就会产生一个流入BS0 线的小电流(流向节点经T0 导通管入地)。“0”位线上BS0 就从平时的高电位下降一个很小的电压,经差动放大器检测出“”信号。 若该位原存“1”,就会在“1”位线BS1 中流入电流,在 BS1 位线上产生电压降,经差动放大器检测出读“1”信号。 读出过程中,位线变成了读出线。读取信息不影响触发器原来状态,故读出是非破坏性的读出。 若字线不加正脉冲,说明此存储元没有选中,T2 ,T3 管截止,A、B结点与位读出线隔离,存储元存储并保存原存信息。,静态MOS存储器,RAM结构与地址译码字结构或单译码方式 (1)结构: (A) 存储容量=行b列; (B) 阵列的每一行对应一个字,有一根公用的字选择线; (C) 每一列对应字线中的一位,有两根公用的位线BS0 与BS1 。 (D) 存储器的地址不分组,只用一组地址译码器。 (2)字结构是2度存储器:只需使用具有两个功能端的基本存储电路:字线和位线 (3)优点:结构简单,速度快:适用于小容量M (4)缺点:外围电路多、成本昂贵,结构不合理结构。,静态MOS存储器,静态MOS存储器,RAM结构与地址译码位结构或双译码方式 (1) 结构: (A) 容量:N(字)b(位)的RAM,把每个字的同一位组织在一个存储片上,每片是N1;再把b 片并列连接,组成一个Nb的存储体,就构成一个位结构的存储器。 (B) 在每一个N1存储片中,字数被当作基本存储电路的个数。若把Nn 个基本存储电路排列成Nx行与Ny列的存储阵列,把CPU送来的n位选择地址按行和列两个方向划分成nx 和ny 两组,经行和列方 向译码器,分别选择驱动行线与列线。 (C) 采用双译码结构,可以减少选择线的数目。 (2)优:驱动电路节省,结构合理,适用于大容量存储器。,静态MOS存储器,静态MOS存储器,用静态MOS存储片组成RAM 位扩展法: 例如:用8的RAM存储芯片,组成8K8位的存储器,按8位m1的关系来确定位扩展所需要的芯片数。共需8片,每一芯片的数据线分别接到数据总线的相应位。 字扩展法: 字扩展:字向扩展而位数不变,将芯片的地址线、数据线、读写控制线并联,而由片选信号来区分各片地址。 例如:用16k8位的芯片采用字扩展法组成64k8位的存储器:4个芯片。 地址分配:地址总线低位地址A0A13与各芯片的14位地址端相连,而高两位的地址A14、A15经2:4译码器和4个芯片的片选端CE相连。,静态MOS存储器,用静态MOS存储片组成RAM 字位同时扩展法: 一个存储器的容量假定为MN位,若使用lk位的芯片(lM,kN)需要在字向和位向同时进行扩展。此时共需要(Ml)(Nk)个存储器芯片。 其中,Ml表示把MN的空间分成(Ml)个部分(称为页或区),每页(Nk)个芯片。 地址分配: (A)用log2 l位表示低位地址:用来选择访问页内的l个字 (B) 用log2(Ml)位表示高位地址:用来经片选译码器产生片选信号。,CPU对存储器进行读/写操作,首先由地址总线给出地址信号,然后要对存储器发出读操作或写操作的控制信号,最后在数据总线上进行信息交流。所以,存储器与CPU之间,要完成: 地址线的连接; 数据线的连接; 控制线的连接。 存储器芯片的容量是有限的,为了满足实际存储器的容量要求,需要对存储器进行扩展。,存储器与CPU连接,位扩展法:只加长每个存储单元的字长,而不增加存储单元的数量,演示,字扩展法:仅增加存储单元的数量,而各单元的位数不变,演示,字位同时扩展法:既增加存储单元的数量,也加长各单元的位数,存储器系统的存储容量: MN位 使用芯片的存储容量:LK位(LM,KN) 需要存储器芯片个数:(MN)/(LK) 例: 利用2K4位的存储芯片,组成16K8位的存储器,共需要多少块芯片? 解:(16K8)/(2K4)8216 即:共需16块芯片。(既需要位扩展,又需要字扩展) 又例:利用1K4位的存储芯片,组成2K8位的存储器,共需要芯片数: (2K8)/(1K4)= 22=4,字、位同时扩展法:,计算机是一个有严格时序控制要求的机器。与CPU连接时,CPU的控制信号与存储器的读、写周期之间的配合问题是非常重要的。 注意: 读出时间与读周期是两个不同的概念。 读出时间:是指从CPU给出有效地址开始,到外部数据总线上稳定地出现所读出的数据信息所经历的时间。 读周期时间:则是指对存储片进行两次连续读操作时所必须间隔的时间。 显然总有:读周期 读出时间,存储器的读、写周期,静态 RAM (2114) 读 时序,静态 RAM (2114) 写 时序,动态MOS存储器,4管动态M0S存储元电路 在6管静态存储元电路中,信息是存于T0,T1管的栅极电容上,由负载管T4 ,T5 经外电源给T0 ,T1 管栅极电容不断地进行充电以补充电容电荷。维持原有信息所需要的电荷量。 由于MOS的栅极电阻很高,栅极电容经栅漏(或栅源)极间的泄漏电流很小,在一定的时间内(如2ms),存储的信息电荷可以维持住。为了减少管子以提高集成度。可以去掉补充电荷的负载管和电源,变成4管动态存储元:,动态MOS存储器,动态MOS存储器,4管动态M0S存储元电路 写入操作:当写入时,字选择线加入高电平,打开T2 、T3 控制管,将BS0 ,BS1 上的信息存储在T0 、T1 管的栅极电容上。当T2 、T3 管截止时,靠T0 、T1 管栅极电容的存储作用,在一定时间内,(如2ms)可以保留所写入的信息。 读出操作:当读出时,先给出预充信号,于是电源就向位线的寄生电容CD 充电,使它们都达到电源电压(CD VD ),当字选择线使T2 、T3 管导通时,存储的信息通过A、B端向位线输出。若原存信息为1,则电容C1 上存有电荷,T1 管导通而T0 管截止,因此,位线BS1 的预充电荷经T1 管泄漏,位线BS1 有读出电流流过。经读出放大电路鉴别输出。与此同时,BS0 上的预充电荷CD 可以通过A点向C1 进行充电。故读出过程也是刷新过程。 再生操作: “再生”或“刷新”。由于4管存储元的信息电荷有泄漏,电荷数不象6管存储元电路由电源经负载管源源不断地补充,时间一长就会丢失信息。必须设法在外界按一定规律不断给栅极进行充电,按需要补足栅极的信息电荷。,动态MOS存储器,4管动态M0S存储元电路 刷新过程:在字选择线上加一个脉冲就能实现自动刷新。显然,只要定时给全部存储元电路执行一遍读操作,而信息不向外输出,那么就可以实现动态存储器的再生或刷新。,动态MOS存储器,单管动态存储元: 为了进一步缩小存储器体积,提高集成度,在大容量动态存储器中都采用单管动态存储元电路。如图6.20存储元由T1和CS构成。 写入时,字选择线加高电平,使T1管导通,写入信息由数据线D(位线)存入电容CS中。 读出时,首先要对数据线上的分布电容CD预充电,再加入字脉冲,使1管导通,CS与CD上电荷重新分配以达到平衡。根据动态平衡的电荷数多少来判断原存信息是或,因此,每次读出后,存储内容就被破坏。是破坏性读出,必须采取措施,以便再生原存信息。 动态MOS随机存储芯片的组成大体与静态MOS随机芯片相似,由存储体和外围电路组成,但外围电路由于再生操作要复杂得多。,动态MOS存储器,动态存储器的刷新(Refresh),刷新的定义和原因 1、定义 定期向电容补充电荷 原因: 动态存储器依靠电容电荷存储信息。平时无电源供电,时间一长电容电荷会泻放,需定期向电容补充电荷,以保持信息不变。 注意刷新与重写的区别 重写:破坏性读出后重写,以恢复原来的信息 刷新:非破坏性读出的动态M,需补充电荷以保持原来的信息,2、刷新周期 从上次对整个存储器刷新结束时刻,到本次对整个存储器完成全部刷新一遍为止的时间间隔 一般为2ms,4ms或8ms 3、刷新方式:按行读; 集中式 分散式 异步式,刷新方式,在刷新间隔内,前段时间进行正常操作,不刷新;需要刷新时,暂停读/写周期,集中刷新整个存储器 由于刷新集中进行,会造成芯片“死时间”过长;因为芯片在刷新过程中,禁止了正常的读/写操作,把一个存储周期分为两半,前半段时间用来读/写操作或维持信息,后半段时间作为刷新操作时间 加长了系统周期,刷新过于频繁,前两种方式的结合,把刷新操作平均分散到整个刷新周期(PC机采用的刷新方式) 例如:将6116芯片在2ms内分散地把128行刷新一遍 2000s128 =15.625 s 15.5 s 即每隔15.5 s刷新一行,说明1M1位(5122048) DRAM芯片的刷新方法,刷新周期定为8ms,【解】逐行进行刷新 512行,每行2048个存储元同时进行刷新,整个芯片在8ms内进行512次刷新操作 集中刷新 在8ms中某个时间段,连续进行512次刷新操作 “死时间”:t0=512 T (T为存储器读写周期) 异步刷新 8ms分成512个时间段,每隔8ms51215.625s 对芯片刷新一次(一行),消除长时间的“死时间”,DRAM存储器的刷新需要有硬件电路的支持,包括刷新计数器、刷新/访存裁决、刷新控制逻辑等。这些控制线路形成DRAM控制器。,存储器控制电路,1. EDRAM芯片 EDRAM芯片又称增强型DRAM芯片,它在DRAM芯片上集成了一个SRAM实现的小容量高速缓冲存储器,从而使DRAM芯片的性能得到显著改进 2.EDRAM内存条 一片EDRAM的容量为1M4位,8片这样的芯片(位扩展)可组成1M32位的存储模块。 当某模块被选中,此模块的8个EDRAM芯片同时动作,8个4位数据端口D3D0同时与32位数据总线交换数据,完成一次32位字的存取,3.2.4 高性能的主存储器,系统RAM区 地址最低端的640KB空间 由DOS进行管理 显示RAM区 128KB主存空间保留给显示缓冲存储区 显示RAM区并没有被完全使用 扩展ROM区 I/O接口电路卡上的ROM 系统ROM区 ROM-BIOS程序,PC机最低1MB主存,示意图,ROM芯片的类型,MROM(掩膜ROM) 掩膜工艺直接制作 PROM(一次性编程ROM) 允许用户进行一次性编程 EPROM(可擦除可编程ROM) 紫外光擦除、并可重复编程的ROM EEPROM(电擦除可编程ROM) 擦除和编程(擦写)通过加电进行 Flash Memory(闪速存储器) 新型的电擦除可编程ROM 快速擦除整片或数据块,闪速存储器是在EPROM功能基础上增加了芯片的电擦除和重新编程能力 28F256A通过引入一个指令寄存器来实现这种功能。其作用是(7条指令由CPU提供) (1) 保证TTL电平的控制信号输入; (2) 在擦除和编程过程中稳定供电; (3) 最大限度地与EPROM兼容。 28F256A是256K(32k8)容量,除了指令寄存器在内的控制和定时逻辑,其余部分与一般半导体存储器的结构相似,闪速存储器的工作原理,28F256A 工作模式,Flash Memory,AT29C040A 存储结构:512K8 有19个地址引脚A18A0 8个数据引脚I/O7I/O0 3个控制引脚 片选CS* 输出允许OE* 写允许WE* 扇区(256字节)擦写 查询擦写是否完成,3.4.1 双端口存储器 同一个存储器具有两组相互独立的读写控制线路,提供了两个相互独立的端口,都可以对存储器中任何位置上的数据进行独立的存取操作 3.4.2 多模块交叉存储器 每个模块各自以等同的方式与CPU传送信息。 连续地址分布在相邻的模块,对连续字的成块传送可以重叠进行实现流水线并行存取 3.4.3 相联存储器 按内容寻址的存储器 把存储单元所存内容的某一部分作为检索项,去检索该存储器,并对存储器中与该检索项符合的存储单元内容进行读出或写入,多模块交叉存储器,方案一:顺序方式 (a) 主存地址被分成高n位和低m位,高位(n)表示模块号,低位(m位)表示块内地址; (b) 在一个模块内,程序是从低位地址连续存放; (c) 对连续单元存取,一般仅对一个模块操作 (d) 特点: 多模块并行工作 易扩充容量 故障局部性。,多模块交叉存储器,多模块交叉存储器,方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示模块号,高位(n)表示块内地址; (b) 各模块间采用多模块交叉编址; (c) 对连续单元存取,则多个模块并行工作 (d) 特点: 多模块并行工作,速度快 不易扩展 故障全局性。,多模块交叉存储器,3.4.1 双端口存储器 同一个存储器具有两组相互独立的读写控制线路,提供了两个相互独立的端口,都可以对存储器中任何位置上的数据进行独立的存取操作 3.4.2 多模块交叉存储器 每个模块各自以等同的方式与CPU传送信息。 连续地址分布在相邻的模块,对连续字的成块传送可以重叠进行实现流水线并行存取 3.4.3 相联存储器 按内容寻址的存储器 把存储单元所存内容的某一部分作为检索项,去检索该存储器,并对存储器中与该检索项符合的存储单元内容进行读出或写入,3.5 Cache存储器,Cache: a safe place for hiding or storing things.,在相对容量较大而速度较慢的主存与高速处理器之间设置的少量但快速的存储器 主要目的:提高存储器速度 为追求高速,包括管理在内的全部功能由硬件实现,3.5.1 Cache基本原理,CPU与cache之间的数据交换以字(字节)为单位 Cache与主存间的数据传送以数据块为单位 一个块(Block)由若干字组成,Cache的读操作,高速命中(Hit):微处理器读取主存的内容已包含在Cache中,可以直接读取Cache,不用访问主存,高速失效(Miss)、缺失、未命中:微处理器读取主存的内容不在Cache中,需要访问主存读取一个数据块,Cache的工作原理,1、Cache以块为单位进行操作 2、当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中,若在,叫命中,否则,不命中 3、 若命中: 若是“读”请求,则直接对Cache读,与主存无关 若是“写”请求: Cache单元与主存单元同时写(Write through写) 只更新Cache单元并加标记,移出时修改主存(写回Copy back) 只写入主存,并在Cache中加标记,下次从MM读出,保证正确。 4、未命中时: 若是“读”请求,则从主存读出所需字送CPU,且把含该字的一块送Cache,称“装入通过”,若Cache已满,置换算法; 若是“写”请求,直接写入主存。,Cache的命中率,命中率(Hit Rate):高速命中的概率,cache/主存系统的平均访问时间ta: ta=htc+(1-h)tm tc命中时的cache访问时间 tm未命中时的主存访问时间,h命中率 Nccache完成存取的总次数 Nm主存完成存取的总次数,设r=tm/tc表示主存慢于cache的倍率,=,Cache的访问效率e,【例5】CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。 【解】 h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns 或者,ta=htc+(1-h)tm=60ns,Cache结构,Cache的数据块称为行(线Line,槽Slot) 用Li表示,其中i=0,1,m-1,共有m=2r行 主存的数据块称为块(Block) 用Bj表示,其中j=0,1,n-1,共有n=2s块 行与块是等长的,包含k=2w个主存字 字是CPU每次访问存储器时可存取的最小单位 Cache由数据存储器和标签存储器组成 数据存储器:高速缓存主存数据 标签存储器:保存数据所在主存的地址信息,3.5.2 主存与Cache的地址映射,Cache通过地址映射(mapping)的方法确定主存块与Cache行之间的对应关系,确定一个主存块应该存放到哪个Cache行中 全相联映射(fully associative mapping) 可以将一个主存块存储到任意一个Cache行 直接映射(direct mapping) 将一个主存块存储到唯一的一个Cache行 组相联映射(set associative mapping) 可以将一个主存块存储到唯一的一个Cache组中任意一个行,直接映射、2/4/8路组相联映射使用较多,全相联映射,优点:命中率较高,Cache的存储空间利用率高 缺点:线路复杂,成本高,速度低,直接映射,优点:硬件简单,容易实现 缺点:命中率低, Cache的存储空间利用率低,组相联映射,组间采用直接映射,组内为全相联 硬件较简单,速度较快,命中率较高,3.5.3 替换策略,替换问题 新主存块要进入Cache,决定替换哪个原主存块 直接映射,只能替换唯一的一个Cache行 全相联和组相联,需要选择替换策略(算法) 1. 最不常用(LFU: least-frequently used) 替换使用次数最少的块 2. 最近最少使用法(LRU: least-recently used) 本指替换近期最少使用的块,实际实现的是替换最久没有被使用的块 3. 随机法(random) 随意选择被替换的块,不依赖以前的使用情况,LRU替换算法,LRU能较好地反映程序的局部性,因而其命中率较高,但实现的硬件较复杂 2路组相联:使用一个U位。某个Cache块被访问,该块U位置1;对应块U位置0。替换U位为0的块 4/8路组相联:运用堆栈型算法。最近访问的块放上面,最下面存放最久没有访问的块。替换最下面的块,3.5.4 写入策略,处理器对Cache读占大多数,也容易提高速度 写入Cache有些问题: 确认命中,才可以对Cache块写入 写入的数据字数不定 写入后可能导致与主存内容不一致 写入策略解决主存内容的更新问题,保持正确 直写法(write through)全写法 写入Cache的同时也写入主存(下一级存储器) 回写法(write back)写回法 只写入Cache,在被替换时才写回主存,直写和回写的比较,直写策略 优点:简单可靠 缺点:总线操作频繁、影响工作速度 解决方法:在Cache与主存间设置一级/多级缓冲器,形成实用的“缓冲直写”方式,提高速度 回写策略 优点:可以减少写入主存次数、提高速度 缺点:硬件结构比较复杂 实现方法:为了表明Cache是否被修改,需要设置一个更新位(update,污染位dirty bit)。替换时只需将被修改的Cache块内容写入主存,写未命中的处理方法,写访问并不需要Cache块中所有数据。写未命中时,写入的数据是否还要将其读回Cache呢? 写分配法( write allocate,WTWA ) 先把数据所在的块调入Cache,然后再进行写入。类似读失效的方式,也称fetch on write 不写分配法( no-write allocate,WTNWA ) 直接把数据写入下一级存储器,不将相应的块调入Cache,也称write around 直写策略通常配合不写分配法,回写策略一般采用写分配法,80486的片上Cache,指令和数据共用的4路组相联Cache结构 8KB容量分成128组,每组有4路,每组每路为一行,每行16个字节(128位) 每行对应21位标签,一个有效位 每组中4路对应3位LRU位,用于实现伪LRU替换算法 采用4级缓冲直写策略,允许6个连续的写操作而无等待 写命未中时,采用不写分配法,只将数据写入主存,不进行Cache的回填,80486片上Cache的结构,80486片上Cache的伪LRU算法,L1,Pentium的片上Cache,指令和数据分离的2路组相联Cache结构 指令Cache和数据Cache都是8KB,共16KB 8KB容量分成128组,每组2路,每行32个字节 LRU算法,回写策略(可动态改变为直写策略),Cache一致性,有了Cache,同一个数据会在主存也会在Cache 有了多级Cache,在主存、一级、二级或三级Cache中可能存在同一个数据的多个拷贝 多处理器系统存在有多个Cache,同一个数据的拷贝份数会更多 如何保证它们都相同,或者说如何保证程序获得最新的正确的数据,就是Cache数据的一致性问题,实现Cache一致性的基本方案,软件方法:由编译程序和操作系统在编译时分析代码,避免共享变量进入Cache 硬件方法:程序运行时动态处理,对程序员和编译员透明,称为Cache一致性协议(Cache coherence protocol) 目录(directory):物理主存中共享数据的状态及相关信息保存在目录中,通常由中央控制器集中维护 监听(snoopy):各个Cache除保存数据拷贝外,也保存数据的共享状态信息,通过监听总线操作判断,MESI协议,商业化多处理器系统中,Cache块常利用标签中额外的2位记录其数据共享的4种状态:修改(modified)、唯一(exclusive)、共享(shared)和无效(invalid);所以也称为MESI协议 修改M:该Cache块已经被修改(与主存不同),而且只在这个Cache中可用 唯一E:该Cache块与对应主存块相同,而且不存在于其它Cache中 共享S:该Cache块与对应主存块相同,但可能存在于其它Cache中 无效I:该Cache块包含的数据无效,Pentium的L1和L2级Cache数据一致性,Pentium采用MESI协议,配合第一次直写(write through),以后回写(write back),实现L1和L2 Cache的数据一致,也称为一次写(write once),3.6 虚拟存储器,虚拟存储器: 在主存-外存层次间 借助于磁盘辅助存储器实现 由系统软件和辅助硬件管理 以透明方式提供给用户 一个比实际主存空间大得多的程序地址空间 作用:扩大主存容量,提高辅存访问速度,有效管理存储系统,虚拟:利用其他部件实现的本来不存在的事物或属性 透明:本来存在的事物或属性,从某种角度看似乎不存在,3.6.1 虚拟存储器的基本概念,物理地址(实地址):(对应主存物理空间)由CPU地址引脚送出,用于访问主存的地址 虚拟地址(虚地址):(对应主存逻辑空间)由编译程序生成的,是程序的逻辑地址 CPU理解虚拟地址,并将其转换成物理地址,主存-外存层次的基本信息传送单位 段:按程序逻辑划分为可变长的块,称为段 页:机械地划分为大小相同的块,称为页面 段页:程序按模块分段,段内分页,段式管理:把主存按段分配的存储管理方式 优点:段的界线分明,段易于编译、管理、修改和保护,便于多道程序共享 缺点:段的长度各不相同,主存空间分配麻烦 页式管理:以定长页面进行存储管理的方式 优点:页的起点和终点地址固定,方便造页表,新页调入主存也很容易掌握,比段式空间浪费小 缺点:处理、保护和共享都不及段式来得方便 段页式管理:分段和分页相结合的存储管理方式 优点:综合段式和页式管理方式的特点 缺点:需要多次查表过程,虚拟存储器的管理,3.6.2 页式虚拟存储器,逻辑页:页式虚拟存储系统中,虚拟空间分成页; 物理页:主存空间也分成同样大小的页。 虚存地址分为两个字段:高字段为逻辑页号,低字段为页内行地址。 实存地址也分两个字段:高字段为物理页号,低字段为页内行地址。,页式管理的地址变换:用页表,快表与慢表,3.6.3 段式虚拟存储器,段式管理的地址变换:用段表,3.6.4 段页式虚拟存储器,3.6.5 替换算法,虚拟存储器的页面替换策略和cache的行替换策略有很多相似之处,但有三点显著不同: 缺页至少要涉及一次磁盘存取,使系统蒙受的损失要比cache未命中大得多 页面替换由操作系统软件实现 页面替换的选择余地很大,属于一个进程的页面都可替换。 虚拟存储器的替换策略 多采用近期最少使用(LRU)算法 还有最不经常使用(LFU)算法 先进先出(FIFO)算法,奔腾处理器的存储器地址转换,3.7 存储保护,多个程序同时存在于存储器中,需要保护 存储区域保护: 界限保护 页表和段表保护 键式保护 环状保护 访问方式保护: 设置访问权限:读R、写W、执行E的组合 特权保护,奔腾处理器的段描述符,段界限(segment limit):用于存储空间保护 基地址(base address):用于形成物理地址 访问权字节(access rights byte):段访问权限:该段当前是否驻留主存、该段所具有特权层和段类型,用于特权保护,奔腾处理器的页目录项和页表项,P存在位:该页表或页面是否在物理存储器中 A访问位:页面进行读或写操作时置位 D写操作位(dirty脏位):页面进行写操作时被置位 U/S用户/管理员位:页面仅能由管理员层的程序使用,还是用户层和管理员层的程序均能使用 R/W读/写位:指明页面是只读的,还是可读可写,第3章 存储系统习题,说明SRAM,DRAM,NVRAM;MROM,OTP-ROM,EPROM,EEPROM,Flash Memory都是什么半导体存储器? 说明存储器的分级结构,虚拟存储器在什么位置、由什么实现? 有一个1024K32位的存储模块,它有多少字节容量?如果用128K8的SRAM芯片组成,需要多少个芯片,每个芯片的地址引脚有多少条? Cache的地址映射、替换策略和写入策略各用于解决什么问题? 第1题 第9题 第11题,第3章教学要求-1,熟悉存储系统的分级(层次)结构,掌握存储访问的局部性原理 理解存储容量、存取时间、存取周期、存储器带宽的概念 了解SRAM、DRAM和NVRAM的特点 掌握SRAM存储结构与芯片地址引脚和数据引脚的关系 理解位扩展和字扩展的含义和作用,掌握芯片扩展与芯片容量的关系 了解DRAM的行地址和列地址,理解DRAM的刷新操作和方法 了解ROM芯片的类型和各自特点,第3章教学要求-2,掌握Cache的功能和基本原理,掌握命中率、平均访问时间和访问效率的计算方法 理解Cache的地址映射的作用,掌握全相联、直接和组相联映射的原理和特点,熟悉Cache中标记(标签)的作用 理解替换策略的作用,熟悉LRU、LFU和随机法 理解Cache的写操作策略,熟悉直写法(全写法)和回写法(写回法) 掌握虚拟存储器的功能、物理地址和虚拟(逻辑)地址的概念 熟悉页式和段式虚拟存储器的管理和地址转换 理解存储保护,熟悉存储区域和访问方式保护的思想,102,第三章 小结,2019/12/2,第103页, 本章小结,存储器两大功能是存储(Write)和取出(Read)。对存储器的三项基本要求是:大容量、高速度和低成本。 各类存储器具有不同的特点:半导体存储器速度快、成本较高;磁表面存储器容量大、成本低但速度慢,无法与CPU高速处理信息的能力匹配。在计算机系统中,通常采用多级存储器体系结构,即高速缓冲存储器Cache、主存储器和外存储器组成的结构。 提高存储器速度可以采用许多措施:采用高速器件;采用高速缓冲存储器Cache;采用多体交叉存储器;采用相联存储器;加长存储器字长等。 为了扩大存储容量,可以采用虚拟存储器技术。虚拟存储器是建立在主存和辅存物理结构基础之上,由附加硬件装置以及操作系统存储管理软件组成的一种存储体系。虚拟存储器有页式、段式、段页式三类。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!