计算机组成原理多层次的存储器课件

上传人:M****1 文档编号:591445931 上传时间:2024-09-17 格式:PPT 页数:126 大小:6.61MB
返回 下载 相关 举报
计算机组成原理多层次的存储器课件_第1页
第1页 / 共126页
计算机组成原理多层次的存储器课件_第2页
第2页 / 共126页
计算机组成原理多层次的存储器课件_第3页
第3页 / 共126页
计算机组成原理多层次的存储器课件_第4页
第4页 / 共126页
计算机组成原理多层次的存储器课件_第5页
第5页 / 共126页
点击查看更多>>
资源描述

《计算机组成原理多层次的存储器课件》由会员分享,可在线阅读,更多相关《计算机组成原理多层次的存储器课件(126页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理计算机组成原理武汉科技大学武汉科技大学计算机科学与技术学院计算机科学与技术学院第三章第三章 多层次的存储器多层次的存储器n本章内容本章内容3.1 存储器概述存储器概述3.2 SRAM存储器存储器3.3 DRAM存储器存储器3.4 只读存储器和闪速存储器只读存储器和闪速存储器3.5 并行存储器并行存储器3.6 Cache存储器存储器3.7 虚拟存储器虚拟存储器3.8 奔腾系列机奔腾系列机(IA-32体系结构体系结构)的虚存组织的虚存组织3.1 存储器概述存储器概述3.1.1 3.1.1 存储器的分类存储器的分类半导体器件半导体器件磁性材料磁性材料磁表面存储器磁表面存储器( (磁盘、

2、磁带磁盘、磁带) )光材料光材料光盘光盘双极型双极型MOSMOS型型1. 1. 按存储介质分按存储介质分2. 2. 按存取方式分按存取方式分 随机存储器:随机存储器:如半导体存储器如半导体存储器顺序存储器:顺序存储器:如磁带如磁带半顺序存储器:半顺序存储器:如磁盘、光盘如磁盘、光盘存储位元、存储单元、存储器存储位元、存储单元、存储器目录目录4. 4. 按信息易失性分按信息易失性分 3. 3. 按存储内容的可变性分按存储内容的可变性分( (半导体存储器的分类半导体存储器的分类) )只读存储器只读存储器(ROM)(ROM)随机读写存储器随机读写存储器(RAM)(RAM)易失性存储器易失性存储器:断

3、电后信息消失断电后信息消失( (如如RAM)RAM)非易失性存储器:非易失性存储器:断电后仍能保存信息断电后仍能保存信息( (如磁盘如磁盘) )5. 5. 按在系统中的作用分按在系统中的作用分 MROMPROMEPROMEEPROMSRAMDRAM控制存储器控制存储器高速缓冲存储器高速缓冲存储器主存储器主存储器辅助辅助( (外外) )存储器存储器闪速存储器闪速存储器(FLASH)(FLASH)NANDFLASHNORFLASH不可变或条件可变条件可变可变内存储器内存储器(CPU(CPU可直接访问可直接访问) ) 半半导导体存体存储储器器类类型型存储器类型存储器类型种类种类可擦除性可擦除性写机制

4、写机制 易失性易失性随机存取存储器随机存取存储器RAM读读-写存储器写存储器电,字节级电,字节级电电易失易失只读存储器只读存储器ROM一次编程只一次编程只读存储器读存储器不能不能掩模掩模非易失非易失可编程可编程PROM电电光擦可编程光擦可编程EPROM多次编程只多次编程只读存储器读存储器紫外线,芯片级紫外线,芯片级电擦可编程电擦可编程EEPROM电,字节级电,字节级闪速存储器闪速存储器电,块级电,块级3.1.2 存储器的分级存储器的分级 设计存储器体系结构时应考虑设计存储器体系结构时应考虑容量、速度和成本容量、速度和成本n高速缓冲存储器高速缓冲存储器(cache)(cache)高速小容量高速小

5、容量半导体存储器半导体存储器n主存储器主存储器( (主存主存) )存放计算机运行期存放计算机运行期间的大量程序和数据;采用间的大量程序和数据;采用MOSMOS半导体半导体存储器构成存储器构成n外存储器外存储器( (外存外存) )大容量辅助存储器大容量辅助存储器n各级存储器之间的关系各级存储器之间的关系3.1.2 存储器分级结构存储器分级结构CPU外存外存(辅存辅存)寄寄存存器器高速缓冲高速缓冲存储器存储器主存主存主机主机3.1.3 主存储器的技术指标主存储器的技术指标字存储单元、字地址;字节存储单元、字节地址字存储单元、字地址;字节存储单元、字节地址按字寻址的计算机、按字节寻址的计算机按字寻址

6、的计算机、按字节寻址的计算机n存储容量存储容量存储器中可以容纳的存储单元总数,存储器中可以容纳的存储单元总数,通常用通常用字数字数或或字节数字节数表示表示( (单位:单位:K K、MM、G G、T)T)n存取时间存取时间( (存储器访问时间存储器访问时间) )发出一次读操作命令发出一次读操作命令到该操作完成,将数据读出到数据总线上所经历的到该操作完成,将数据读出到数据总线上所经历的时间;通常取写操作时间等于读操作时间时间;通常取写操作时间等于读操作时间n存储周期存储周期连续启动两次读操作所需间隔的最小连续启动两次读操作所需间隔的最小时间,略大于存取时间时间,略大于存取时间n存储器带宽:存储器带

7、宽:单位时间里存储器所存取的信息量单位时间里存储器所存取的信息量指标指标 含义含义 表现表现 单位单位 存储容量存储容量一个存储器中可容纳一个存储器中可容纳的存储单元总数的存储单元总数 存储空间存储空间的大小的大小 字数,字节数字数,字节数 KBKB、MBMB、GBGB、TBTB存取时间存取时间启动到完成一次存储启动到完成一次存储器操作所经历的时间器操作所经历的时间主存的速主存的速度度 存储周期存储周期连续启动两次操作所连续启动两次操作所需间隔的最小时间需间隔的最小时间 主存的速主存的速度度 存储器带宽存储器带宽 单位时间里存储器所单位时间里存储器所存取的信息量存取的信息量 数据传输数据传输速

8、率速率位位/ /秒,字节秒,字节/ /秒秒3.2 SRAM存储器存储器n内存采用半导体存储器,按信息存储的机理不同分类内存采用半导体存储器,按信息存储的机理不同分类n静态随机读写存储器静态随机读写存储器(SRAM(SRAMStatic RAM)Static RAM)n动态随机读写存储器动态随机读写存储器(DRAM(DRAMDynamic RAM)Dynamic RAM)目录目录3.2.1 3.2.1 基本的静态存储元阵列基本的静态存储元阵列1 1、存储位元、存储位元是一个触发器,具有两个稳定状态是一个触发器,具有两个稳定状态644位位2 2、三组信号线、三组信号线n地址地址线线n数据数据线线n

9、控制控制线线n行线行线n列线列线63n地址译码器地址译码器 双译码双译码( (二级译码二级译码) )x x向向(A(A0 0AA7 7 ) ) 、y y向向( ( A A8 8AA14 14 ) )3.2.2 基本的基本的SRAM逻辑结构逻辑结构存储体、地址译码器和读写控制逻辑存储体、地址译码器和读写控制逻辑n存储体存储体(32K(32K2562561281288)8)n读写控制逻辑读写控制逻辑(CS=0时时)读操作读操作OE=0,G2开启,开启,G1关闭关闭写操作写操作WE=0,G1开启,开启,G2关闭关闭032767RAM32K83.2.3 3.2.3 读读/ /写周期波形图写周期波形图n

10、读周期读周期n读出时间读出时间t tAQAQn读周期读周期t tRCRCn写周期写周期n写时间写时间t tWDWDn写周期写周期t tWCWCn存取周期存取周期取取t tRCRC= = t tWCWC例例1:SRAM的写入时序如图。其中的写入时序如图。其中R/W是读是读/写命令控制线,当写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出该写入时序中的错误,并画出正确的写入时序图。储器。请指出该写入时序中的错误,并画出正确的写入时序图。3.3 DRAM存储器存储器3.3.1 DRAM3.3.1 DRAM存储元

11、的记忆原理存储元的记忆原理由一个由一个MOSMOS晶体管和电容器组成的记忆电路晶体管和电容器组成的记忆电路目录目录3.3.1 DRAM3.3.1 DRAM存储元的记忆原理存储元的记忆原理1 1、MOSMOS管作为管作为开关使用,信开关使用,信息由电容器上息由电容器上的电荷量体现的电荷量体现电容器充电容器充满电荷代表存满电荷代表存储了储了1 1;电容器;电容器放电没有电荷放电没有电荷代表存储了代表存储了0 03 3、写、写0 0输出缓输出缓冲器和刷新缓冲器冲器和刷新缓冲器关闭;输入缓冲器关闭;输入缓冲器打开,输入数据打开,输入数据D DININ=0=0送到存储元送到存储元位线上;行选线为位线上;

12、行选线为高,打开高,打开MOSMOS管,管,电容上的电荷通过电容上的电荷通过MOSMOS管和位线放电管和位线放电5 5、读出、读出1 1后存储位元后存储位元重写重写1 1 (1 (1的读出是破的读出是破坏性的坏性的) )输入缓输入缓冲器关闭,刷新缓冲器关闭,刷新缓冲器和输出缓冲器冲器和输出缓冲器/ /读放打开,读放打开,D DOUTOUT=1=1经刷新缓冲器送到经刷新缓冲器送到位线上,再经位线上,再经MOSMOS管写到电容上管写到电容上4 4、读出、读出1 1输入输入缓冲器和刷新缓冲缓冲器和刷新缓冲器关闭;输出缓冲器关闭;输出缓冲器器/ /读放打开读放打开(R/W(R/W为高为高) );行选线

13、为高;行选线为高,打开,打开MOSMOS管,电管,电容上存储的容上存储的1 1送到送到位线上,通过输出位线上,通过输出缓冲器缓冲器/ /读出放大读出放大器发送到器发送到D DOUTOUT,即,即D DOUTOUT=1=12 2、写、写1 1输出缓冲输出缓冲器和刷新缓冲器关闭;器和刷新缓冲器关闭;输入缓冲器打开输入缓冲器打开(R/W(R/W为低为低) ),D DININ=1=1送到存送到存储元位线上;行选线储元位线上;行选线为高,打开为高,打开MOSMOS管,管,位线上的高电平给电位线上的高电平给电容器充电容器充电n与与SRAMSRAM相比,增加的部件:相比,增加的部件:以以1M1M4 4位的位

14、的DRAMDRAM为例为例3.3.2 DRAM3.3.2 DRAM芯片的逻辑结构芯片的逻辑结构(1)行、列地址锁存器行、列地址锁存器分时传送,分时传送,RAS/CAS(2)刷新计数器及控制电路刷新计数器及控制电路按行刷新;刷新计数按行刷新;刷新计数器的长度、刷新地址器的长度、刷新地址与读与读/写地址的切换写地址的切换1. 1. 读周期、写周期读周期、写周期从从RAS下降沿开始,到下一个下降沿开始,到下一个RAS的下降沿为止的时间的下降沿为止的时间(连连续两个读周期的时间间隔续两个读周期的时间间隔),通常取读周期,通常取读周期=写周期写周期3.3.3 3.3.3 读读/ /写周期、刷新周期写周期

15、、刷新周期2. 2. 刷新周期刷新周期n刷新周期:刷新周期:典型值典型值2ms2ms、8ms8ms 16ms16ms;某些器件可大于;某些器件可大于100ms100msn刷新操作以行为单位进行刷新操作以行为单位进行n刷新方式刷新方式n集中式刷新集中式刷新n分散式刷新分散式刷新n异步式刷新异步式刷新3.3.3 3.3.3 读读/ /写周期、刷新周期写周期、刷新周期例:设某个存储器结构为例:设某个存储器结构为1024 1024的存储矩阵的存储矩阵读读/写周期为写周期为TC=0.5s,刷新周期,刷新周期为8ms集中刷新方式集中刷新方式n集中式刷新:集中式刷新:将一个刷新周期分为两部分将一个刷新周期分

16、为两部分前一段时间进行前一段时间进行正常读正常读/写;后一段时间作为集中刷新时间写;后一段时间作为集中刷新时间优点:优点:对存储器的平均读对存储器的平均读/写时间影响不大,适用于高速存储器写时间影响不大,适用于高速存储器缺点:缺点:在集中刷新时间内不能进行存取访问在集中刷新时间内不能进行存取访问死时间死时间读读/写写/保持保持刷新刷新tctc0 1 2149750 110238ms集中刷新方式集中刷新方式8ms分成分成16000个个TC(=0.5s),只需,只需1024个个TC进行刷新进行刷新分散刷新方式分散刷新方式n分散式刷新分散式刷新:将一个存储系统周期:将一个存储系统周期tS分为两半分为

17、两半前半段用于前半段用于读读/写,后半段为刷新时间写,后半段为刷新时间tctR读读/写写刷新刷新tS8ms读读/写写刷新刷新刷新刷新读读/写写分散刷新方式分散刷新方式优点:优点:不存在死时间不存在死时间缺点:缺点:刷新过于频繁,影响系统速度;如存储器读刷新过于频繁,影响系统速度;如存储器读/写周期为写周期为0.5s,则存存储系系统的周期至少的周期至少应为1s整个系整个系统速度降低速度降低设设TC=0.5s,系,系统周期周期TS=1s,则只需只需1024s即可刷新一遍,即可刷新一遍,在在8ms内可内可进行多次刷新行多次刷新异步刷新方式异步刷新方式n异步式刷新异步式刷新:前两种方式结合,先用刷新的

18、行数对刷新周期进:前两种方式结合,先用刷新的行数对刷新周期进行分割,再将分割好的时间分为两部分行分割,再将分割好的时间分为两部分前段时间用于读前段时间用于读/写,写,后一小段时间用于刷新后一小段时间用于刷新读读/写写7.8s8ms刷新刷新读读/写写7.8s刷新刷新异步刷新方式异步刷新方式将将8ms分割成分割成1024个个时间段,每段段,每段时间为8ms/1024=7.8125s(取取7.8s),每隔每隔7.8s刷新一行,刷新一行,8ms内完成内完成对所有所有1024行的一次刷新行的一次刷新3.3.4 3.3.4 存储器容量的扩充存储器容量的扩充1 1、字长、字长位数扩展位数扩展地址线和控制线公

19、用;数据线分开连接地址线和控制线公用;数据线分开连接所需芯片数所需芯片数d=设计要求的存储器容量设计要求的存储器容量/选择芯片存储容量选择芯片存储容量2 2、字字存储容量存储容量扩展扩展地址线和数据线公用,控制线中地址线和数据线公用,控制线中R/W公用,使能端公用,使能端EN不能公不能公用,由地址总线的高位段译码决定片选信号用,由地址总线的高位段译码决定片选信号所需芯片数所需芯片数(d=设计要求的存储器容量设计要求的存储器容量/选择芯片存储容量选择芯片存储容量)CPUMDR主存主存MAR地址总线地址总线数据总线数据总线读读写写主存与主存与CPUCPU的连接原理的连接原理用用8K1的存储器芯片组

20、成的存储器芯片组成8K8位位(位扩展位扩展)用用16K8的存储器芯片组成的存储器芯片组成64K8位位(字扩展字扩展)用用16K4的存储器芯片组成的存储器芯片组成64K8 (字位同时扩展字位同时扩展) A A1515 A A1414 CPU CPU WE WE 2:42:4译码器译码器1111101001010000D D0 0 D D3 3D D4 4 D D7 7A A0 0A A1313 CE CE 16K 16K4 4WEWE CE CE 16K 16K4 4WEWEA A0 0A A1313D D0 0 D D3 3 CE CE 16K 16K4 4WEWE CE CE 16K 16K

21、4 4WEWEA A0 0A A1313D D0 0 D D3 3 CE CE 16K 16K4 4WEWE CE CE 16K 16K4 4WEWEA A0 0A A1313D D0 0 D D3 3 CE CE 16K 16K4 4WEWE CE CE 16K 16K4 4WEWEA A0 0A A1313D D0 0 D D3 33 3、存储器模块条、存储器模块条( (内存条内存条) ) n类型类型SDSD、DDRDDR、DDR2DDR2、DDR3DDR3n封装封装有有3030脚、脚、7272脚、脚、100100脚、脚、144144脚、脚、168168脚、脚、184184脚、脚、2402

22、40脚脚(DDR2(DDR2、DDR3)DDR3)n3030脚脚8 8位数据线位数据线,容量,容量256KB256KB32MB32MBn7272脚脚3232位数据总线位数据总线n100100脚以上脚以上既用于既用于3232位位又用于又用于6464位数据总线位数据总线,容量,容量4MB4MB512MB512MBnDDR3DDR3单条容量可达单条容量可达32GB32GB3.3.4 3.3.4 存储器容量的扩充存储器容量的扩充转转3.3.61. FPM-DRAM1. FPM-DRAM( (快速页模式快速页模式DRAMDRAM) )程序的局部性原理程序的局部性原理n页页同一行地址的所有列地址单元集合同

23、一行地址的所有列地址单元集合读写周期中,首先由读写周期中,首先由RAS确定行地址,然后在同一页中不再改变确定行地址,然后在同一页中不再改变行地址行地址(RAS保持有效保持有效),直接由,直接由CAS选定不同的列地址选定不同的列地址3.3.5 3.3.5 高级的高级的DRAMDRAM结构结构快速页模式读操作时序图快速页模式读操作时序图2. CDRAM2. CDRAM( (带高速缓冲存储器带高速缓冲存储器cachecache的动态存储器的动态存储器) )在在DRAMDRAM芯片内集成一个芯片内集成一个小容量的小容量的SRAMSRAM3.3.5 3.3.5 高级的高级的DRAMDRAM结构结构SRA

24、MSRAM是是DRAMDRAM某一行的副本,可完成某一行的副本,可完成猝发式读取猝发式读取读出过程分析读出过程分析1M1M4 4,其中,其中SRAM 512SRAM 5124 43. SDRAM3. SDRAM( (同步型动态存储器同步型动态存储器) )SDRAMSDRAM的操作要求与系统时钟同步,在系统时钟的控制下从的操作要求与系统时钟同步,在系统时钟的控制下从CPUCPU获得地址、数据和控制信息,即:它获得地址、数据和控制信息,即:它与与CPUCPU的数据交换同步于的数据交换同步于外部的系统时钟信号外部的系统时钟信号,并且以并且以CPU/CPU/存储器总线的最高速度运行,存储器总线的最高速

25、度运行,不需要插入等待状态不需要插入等待状态nSDRAMSDRAM基于双存储体系基于双存储体系( (甚至是多体系甚至是多体系) )结构结构内含两个交错内含两个交错的存储阵列,允许两个内存页面同时打开的存储阵列,允许两个内存页面同时打开3.3.5 3.3.5 高级的高级的DRAMDRAM结构结构 例例 CDRAM CDRAM内存条组成实例内存条组成实例用用8 8片片1M1M4 4位的位的CDRAMCDRAM构成构成1M1M3232位位(4MB)(4MB)的存储模块的存储模块8 8个芯片共用行选通、刷新和行地址个芯片共用行选通、刷新和行地址A A0 0 A A1010猝发式存取过程猝发式存取过程增

26、加增加附加位附加位( (同数据位一起写入同数据位一起写入DRAMDRAM中保存中保存) )3.3.6 DRAM3.3.6 DRAM读读/ /写的正确性校验写的正确性校验最简单的校验最简单的校验奇偶校验奇偶校验;最简单的纠错码;最简单的纠错码汉明码汉明码数据位数据位单纠错时校验位单纠错时校验位单纠错单纠错/双检错时校验位双检错时校验位8163264456756783.4 只读存储器和闪速存储器只读存储器和闪速存储器3.4.1 3.4.1 只读只读存储器存储器ROMROMn掩模掩模ROMROM:存储内容固定的:存储内容固定的ROMROM,由生产厂家提供,由生产厂家提供 n可编程可编程ROMROM:

27、用户写入内容,有的可多次写入:用户写入内容,有的可多次写入n一次性编程的一次性编程的PROMPROMn多次编程的多次编程的EPROMEPROM和和E E2 2PROMPROM目录目录只读存储器只读存储器 定义定义 优点优点 缺点缺点 掩模式掩模式 数据在芯片制造过程中就确定数据在芯片制造过程中就确定 可靠性和集成度可靠性和集成度高,价格便宜高,价格便宜不能重写不能重写一次编程一次编程 用户可自行改变某些存储元用户可自行改变某些存储元可以根据用户需可以根据用户需要编程要编程只能改写一只能改写一次次多次编程多次编程 可以用紫外光照射或电擦除,可以用紫外光照射或电擦除,然后再重新写入新数据然后再重新

28、写入新数据 可以多次改写可以多次改写ROMROM中的内容中的内容次数有限次数有限1. 1. 掩膜掩膜ROMROM3.4.1 3.4.1 只读存储器只读存储器ROMROM存储元构成:存储元构成:二极管、双极型晶体管、二极管、双极型晶体管、MOSMOS管管I/O电路电路Y地址译码地址译码工作原理:工作原理:若管子的基极与选择线相连,若管子的基极与选择线相连,该管导通,反向后输出为该管导通,反向后输出为“1 1”;若基极与选择线不连通,则;若基极与选择线不连通,则输出为输出为“0 0”优点:优点:可靠性和集成度高,可靠性和集成度高,价格便宜价格便宜缺点:缺点:不能重写不能重写16168 8位位ROM

29、ROM阵列结构示意图阵列结构示意图行选线与行选线与栅极相连栅极相连行选线与栅行选线与栅极不相连极不相连掩模掩模ROMROM逻辑符号及内部逻辑框图逻辑符号及内部逻辑框图A0A1A2A3A4列译码器列译码器和和I/O电路电路行行译译码码器器A5A6A7输输出出缓缓冲冲器器O0O1O2O3E0E1行行地地址址列列地地址址片选片选使能使能存储阵列存储阵列32行行 8列列 4位位ROM256 4A0A1A2A3A4A5A6A7E0E1&ENO0O1O2O3逻辑符号逻辑符号n2. PROM2. PROM( (用户可编程一次用户可编程一次) )n熔断丝结构熔断丝结构PROMPROM 多发射极管多发射极管 基

30、极连选择线基极连选择线n编程写入时使某些熔编程写入时使某些熔断丝烧断断丝烧断3.4.1 3.4.1 只读存储器只读存储器ROMROMn读出时读出时熔断丝连通,输出为熔断丝连通,输出为“1 1”熔断丝烧断为熔断丝烧断为“0 0”n以以浮栅雪崩注入浮栅雪崩注入型型MOSMOS管管为存储为存储元的元的EPROMEPROM3 3、光擦除可编程、光擦除可编程EPROMEPROM(Erasible(Erasible Programmable ROM) Programmable ROM)3.4.1 3.4.1 只读存储器只读存储器ROMROMnG1G1浮置栅,无引出线;浮置栅,无引出线;G2G2控制栅,有引

31、出线控制栅,有引出线n若漏极若漏极D D端加约几十伏的脉冲电压,则沟道中的电场足够强,端加约几十伏的脉冲电压,则沟道中的电场足够强,会造成雪崩,产生很多高能量电子;此时,若会造成雪崩,产生很多高能量电子;此时,若G2G2栅上加正电栅上加正电压,则沟道中的电子穿过氧化层注入到压,则沟道中的电子穿过氧化层注入到G1G1栅,使栅,使G1G1栅积累负栅积累负电荷电荷nG1G1栅周围都是绝缘的二氧化硅层,泄漏电流极小,所以一旦栅周围都是绝缘的二氧化硅层,泄漏电流极小,所以一旦电子注入到电子注入到G1G1栅后,能长期保存栅后,能长期保存3. EPROM3. EPROM3. EPROM3. EPROMn0

32、0和和1 1的存储的存储当当G1G1栅栅有电子有电子积累积累时,时,MOSMOS管的开启电压变得管的开启电压变得很高,即使很高,即使G2G2栅为高电平,该管栅为高电平,该管仍不能导通,相当于存储了仍不能导通,相当于存储了“0 0”;当;当G1G1栅栅没有电子积累没有电子积累时,时,MOSMOS管的开启电压较低,当管的开启电压较低,当G2G2栅为高栅为高电平时,该管可以导通,相当于电平时,该管可以导通,相当于存储了存储了“1 1”n出厂时信息为全出厂时信息为全“1”n擦除擦除用光子能量较高用光子能量较高的紫外光照射的紫外光照射G1G1,使电子,使电子获得足够能量,穿过氧化获得足够能量,穿过氧化层

33、回到衬底中,即抹去了层回到衬底中,即抹去了存储的信息,又存了全存储的信息,又存了全“1 1”用用40W40W紫外灯,相距紫外灯,相距2cm2cm,照射几分钟即可照射几分钟即可n石英窗口石英窗口n读出读出读出电路采用二维译码方式:读出电路采用二维译码方式:x x地址译码器的输出地址译码器的输出xi xi与与G2G2栅极相连,以决定栅极相连,以决定T2T2管是否选中;管是否选中;y y地址译码器的输出地址译码器的输出yi yi与与T1T1管栅极相连,控制数据是否读出;当片选信号管栅极相连,控制数据是否读出;当片选信号CSCS为高电平为高电平时,方能读出数据时,方能读出数据n写写“0 0”xi xi

34、和和yi yi选择线为高电位,选择线为高电位,P P端加端加2020多伏的正脉冲,多伏的正脉冲,脉冲宽度为脉冲宽度为0.10.11ms1ms3. EPROM3. EPROMEPROMEPROM实例实例27162716为例为例容量:容量:2K 2K 8 8位,地址线位,地址线11 11根:根:7 7条条X X译码、译码、4 4条条Y Y译码译码数据线数据线8 8根根D D7 7D D0 0 ;带输出缓冲器;带输出缓冲器12864存储矩阵12864 存储矩阵行译码器输出列选择读出放大器输出缓冲器输出列选择读出放大器输出缓冲器128线64线128线输入缓冲器输入缓冲器输入缓冲器输入缓冲器A0A3CE

35、 (PD/PGM)OEO0O3O1O2A4A10O4O7O5O664线27162716工工 作作 模模 式式CE(PD/PGM) OEVPPVCC数据传输方向数据传输方向读读00+5V+5V输出输出无操作无操作01+5V+5V高阻高阻功率下降功率下降1+5V+5V高阻高阻编程编程50ms宽正脉冲宽正脉冲1+25V +5V输入输入4. 4. 电擦除可编程电擦除可编程E E2 2PROMPROM(Electrical EPROM)(Electrical EPROM)nE E2 2PROMPROM存储元存储元 具有两个栅极;具有两个栅极;G1G1是是浮栅浮栅,无引出线;,无引出线;G2G2是是抹去栅

36、抹去栅,有引出线,有引出线G1G1栅和漏极栅和漏极D D间有一小面积、间有一小面积、极薄的氧化层,可产生极薄的氧化层,可产生隧道效应隧道效应n存储存储“1 1”G2G2栅加栅加20V20V正脉冲正脉冲P1P1,通过隧道效应,电子由通过隧道效应,电子由衬底注入到衬底注入到G1G1,相当于,相当于存储了存储了“1 1”n出厂时,内容为全出厂时,内容为全“1 1”4. EEPROM4. EEPROMn写写“0 0”漏极漏极D D加加20V20V正脉冲正脉冲P2P2,G2G2栅接地,栅接地, G1G1上电子通过隧道返回衬上电子通过隧道返回衬底,相当于写底,相当于写“0 0” n读出读出G2G2栅加栅加

37、3V3V电压,若电压,若G1G1栅有电子积累,栅有电子积累,T2T2不能导通,相当于存不能导通,相当于存“1 1”;若;若G1G1栅无电子积累,栅无电子积累,T2T2导通,相当于存导通,相当于存“0 0” 允许改写上千次允许改写上千次改写改写( (先抹后写先抹后写) )大约需大约需20ms20ms数据可存储数据可存储2020年以上年以上高密度非易失性的读高密度非易失性的读/ /写存储器写存储器既有既有RAMRAM的优点,又有的优点,又有ROMROM的优点的优点3.4.2 3.4.2 闪速存储器闪速存储器(FLASH(FLASH存储器存储器) )n由单个由单个MOSMOS晶体管组成,晶体管组成,

38、漏极漏极D D、源极源极S S、控制栅控制栅和和浮空栅浮空栅FLASH ROM属于真正的单电压芯片,读和写都是在单电压下属于真正的单电压芯片,读和写都是在单电压下进行,不需跳线,只利用专用程序即可方便修改进行,不需跳线,只利用专用程序即可方便修改FLASH ROM的存储容量普遍大于的存储容量普遍大于EEPROM,价格也比较合适,价格也比较合适,近年来已逐渐取代了近年来已逐渐取代了EEPROMn“0 0” :当控制栅加足够的正电压,浮空栅将储存许多电子而:当控制栅加足够的正电压,浮空栅将储存许多电子而带负电带负电定义为存储元处于定义为存储元处于0 0状态状态n“1 1” :控制栅不加正电压时,浮

39、空栅只有少许电子或不带电:控制栅不加正电压时,浮空栅只有少许电子或不带电荷荷定义为存储元处于定义为存储元处于1 1状态状态3.4.2 3.4.2 闪速存储器闪速存储器n所有存储元的所有存储元的原始状态原始状态为为“1 1”n编程编程( (写写) )操作操作:使某些存储元改写成:使某些存储元改写成“0 0”控制栅控制栅C C上加上加正电压正电压;保持;保持“1 1” 的存储元,控制栅不加正电压的存储元,控制栅不加正电压n一旦存储元被编程,存储的数据可保持一旦存储元被编程,存储的数据可保持100100年之久年之久3.4.2 3.4.2 闪速存储器闪速存储器n读取操作:读取操作:控制栅加正电压控制栅

40、加正电压,浮空栅上的负电荷量将决定,浮空栅上的负电荷量将决定MOSMOS管是否导通;若存储元原存管是否导通;若存储元原存1 1,晶体管导通,读出电路检,晶体管导通,读出电路检测到测到有电流有电流 ;若原存;若原存0 0,晶体管不导通,晶体管不导通,无电流无电流n擦除操作:擦除操作:源极源极S S加上正电压,加上正电压,吸收浮空栅中的电子,使所有吸收浮空栅中的电子,使所有存储元中浮空栅上的负电荷全部存储元中浮空栅上的负电荷全部洩洩放出去放出去3.4.2 3.4.2 闪速存储器闪速存储器nFLASHFLASH存储器的阵列结构存储器的阵列结构n读操作读操作若存储元若存储元原存原存1 1,则晶体管,则

41、晶体管导通导通,有电流,有电流经负载产生一个电压降,经负载产生一个电压降,与参照电压比较,输出标与参照电压比较,输出标志为逻辑志为逻辑1 1的电平;若存储的电平;若存储元元原存原存0 0,晶体管,晶体管不导通不导通,位线上没有电流,比较器位线上没有电流,比较器输出端产生标志为逻辑输出端产生标志为逻辑0 0的电平的电平3.4.2 3.4.2 闪速存储器闪速存储器各种存储器性能比较各种存储器性能比较存储器类型存储器类型 非易失性非易失性 高密度高密度 单晶体管存储元单晶体管存储元在系统中的可写性在系统中的可写性FLASHSRAMDRAMROMEPROMEEPROM 3.5 并行存储器并行存储器解决

42、解决CPUCPU和主存储器间和主存储器间速度不匹配速度不匹配的问题的问题主存采用更高速技术缩短读出时间主存采用更高速技术缩短读出时间采用采用并行技术并行技术的存储器的存储器n采用空间并行技术采用空间并行技术双端口存储器双端口存储器n采用时间并行技术采用时间并行技术多体交叉存储器多体交叉存储器目录目录3.5.1双端口存储器双端口存储器1、双端口存储器的逻辑结构、双端口存储器的逻辑结构同一个存储器同一个存储器具有两组相互独立的读写控制电路具有两组相互独立的读写控制电路,并行,并行如如IDT71332K16的的SRAM2、无冲突无冲突(两个端口的地址不同两个端口的地址不同)读写控制读写控制任一端口被

43、选中驱动即可对整个存储器存取,每个端口有自己任一端口被选中驱动即可对整个存储器存取,每个端口有自己的片选控制的片选控制(CE)和输出驱动控制和输出驱动控制(OE)3、有冲突、有冲突(两个端口同时存取同一存储单元两个端口同时存取同一存储单元)读写控制读写控制片上的判断逻辑决定哪个端口优先进行读写,而对另一个被延片上的判断逻辑决定哪个端口优先进行读写,而对另一个被延迟的端口置迟的端口置BUSY标志标志(变为低电平变为低电平),暂时关闭,暂时关闭3.5 并行存储器并行存储器3.5.1 3.5.1 双端口存储器双端口存储器4 4、有冲突读写控制判断方法、有冲突读写控制判断方法(1)地址匹配且在地址匹配

44、且在CE前有效,控制逻辑在前有效,控制逻辑在CEL和和CER间进行判断间进行判断来选择端口来选择端口(CE判断判断)(2)CE在地址匹配前变低,控制逻辑在在地址匹配前变低,控制逻辑在左、右地址间进行判断来左、右地址间进行判断来选择端口选择端口(地址有效判断地址有效判断)无论哪种方式,延迟端口的无论哪种方式,延迟端口的BUSY标志都将置位而关闭此端口;标志都将置位而关闭此端口;当允许存取的端口完成操作时,延迟端口当允许存取的端口完成操作时,延迟端口BUSY标志才进行复标志才进行复位而打开此端口位而打开此端口左、右端口读写操作的功能判断左、右端口读写操作的功能判断左端口左端口右端口右端口标志标志功

45、能功能说明说明CECEL L(A(A0 0A A1010) )L LCECER R(A(A0 0A A1010) )R RBUSYBUSYL LBUSYBUSYR R1010XAnyX(A0A10)R1100XXAny(A0A10)L11111111无冲突无冲突无冲突无冲突0000LV5RRV5LSameSame0000LV5RRV5LSameSame10100101左端口胜右端口胜消除判断消除判断地址判断LL5RRL5LLW5RLW5R=(A0A10)R=(A0A10)R=(A0A10)R=(A0A10)RLL5RRL5LLW5RLW5R=(A0A10)L=(A0A10)L=(A0A10)L

46、=(A0A10)L10100101左端口胜右端口胜消除判断消除判断CE判断双端口存储器读写时序双端口存储器读写时序3.5.2 3.5.2 多模块交叉存储器多模块交叉存储器1. 1.存储器的模块化组织存储器的模块化组织若干个模块组成的主存储器,地址在各模块中的安排方式:若干个模块组成的主存储器,地址在各模块中的安排方式:一种是一种是顺序方式顺序方式,一种是,一种是交叉方式交叉方式(1) (1) 顺序方式顺序方式 例例 MM0 0MM3 3共四个模块,每个模块共四个模块,每个模块8 8个字个字 MM0 0:0 07 7 M M1 1:8 81515MM2 2:16162323MM3 3:24243

47、131n5 5位地址的组织:位地址的组织: X XX X X X X X X X 高位高位选模块选模块,低位低位选块内地址选块内地址n特点:特点:某个模块存取时,其他模块不工作某个模块存取时,其他模块不工作n优优点点:某某一一模模块块出出现现故故障障时时,其其他他模模块块可可照照常常工工作作;通通过过增增添添模块来扩充存储器容量比较方便模块来扩充存储器容量比较方便n缺点:缺点:各模块串行工作,存储器带宽受限各模块串行工作,存储器带宽受限3.5.2 3.5.2 多模多模块块交叉存交叉存储储器器(2)(2)交叉方式交叉方式 例例 MM0 0MM3 3共四个模块,则每个模块共四个模块,则每个模块8

48、8个字个字 MM0 0:0 0,4.4.除以除以4 4余数为余数为0 0 M M1 1:1 1,5.5.除以除以4 4余数为余数为1 1 M M2 2:2 2,6.6.除以除以4 4余数为余数为2 2 M M3 3:3 3,7.7.除以除以4 4余数为余数为3 3n5 5位地址的组织:位地址的组织: X X XX X X X XX X 高位高位选块内地址选块内地址,低,低位位选模块选模块n特特点点:连连续续地地址址分分布布在在相相邻邻的的不不同同模模块块内内,同同一一个个模模块块内内的的地地址不连续址不连续n优优点点:对对连连续续字字的的成成块块传传送送可可实实现现多多模模块块流流水水式式并并

49、行行存存取取,大大大提高存储器的带宽,对成批数据读写有利大提高存储器的带宽,对成批数据读写有利n缺点:缺点:某一模块出现故障则整个存储器不能正常工作某一模块出现故障则整个存储器不能正常工作3.5.2 3.5.2 多模多模块块交叉存交叉存储储器器2 2、多模块交叉存储器的基本结构、多模块交叉存储器的基本结构( (以以4 4模块为例模块为例) )3.5.2 3.5.2 多模多模块块交叉存交叉存储储器器对对每每个个存存储储模模块块:从从CPUCPU发发出出访访存存命命令令到到读读出出信信息息使使用用了了一一个个存存储储周期周期对对于于CPUCPU:在在一一个个存存储储周周期期内内连连续续访访问问了了

50、4 4个个模模块块( (分分时时使使用用数数据据总线总线) ),各模,各模块块的的读读写写过过程重叠程重叠进进行行若若连续连续在主存中存取程序段或数据在主存中存取程序段或数据块块访问访问速度大大提高速度大大提高主主存存被被分分成成4 4个个相相互互独独立立、容容量量相相同同的的模模块块,每每个个模模块块有有自自己己的的读读写写控控制制电电路路、地地址址寄寄存存器器和和数数据据寄寄存存器器,各各自自以以等等同同的的方式与方式与CPUCPU传传送信息送信息定量分析:定量分析:设模块字长等于数据总线宽度,模块存取一个字的时间为设模块字长等于数据总线宽度,模块存取一个字的时间为T,由,由m个总线传送周

51、期个总线传送周期()组成,即组成,即Tm ,并使用,并使用m个模块交叉组个模块交叉组织存储器,则成块传送可按织存储器,则成块传送可按间隔流水方式间隔流水方式进行进行交叉存取度交叉存取度m=T/ 模块数必须大于等于模块数必须大于等于m连续读取连续读取m个字所需的时间为个字所需的时间为t1T+(m-1) 顺序方式存储器连续读取顺序方式存储器连续读取m个字所个字所需时间需时间t2=mT3.5.2 3.5.2 多模多模块块交叉存交叉存储储器器m=4的流水线方式存取示意图的流水线方式存取示意图m=4的流水线方式存取示意图的流水线方式存取示意图例例5 5 设存储器容量为设存储器容量为3232字,字长字,字

52、长6464位,模块数位,模块数m=4m=4。存储周期。存储周期T=200nsT=200ns,数据总线宽度为,数据总线宽度为6464位,总线传送周期位,总线传送周期=50ns=50ns。若连续读。若连续读出出4 4个字,分别求用顺序方式和交叉方式组织的存储器的带宽个字,分别求用顺序方式和交叉方式组织的存储器的带宽解:两种方式连续读出解:两种方式连续读出4 4个字的信息总量都是:个字的信息总量都是: q=64bq=64b4=256b4=256b顺序存储器和交叉存储器连续读出顺序存储器和交叉存储器连续读出4 4个字所需的时间分别是:个字所需的时间分别是:顺序:顺序:t t2 2=mTmT=4=420

53、0ns=800ns=8200ns=800ns=81010-7-7s s交叉:交叉:t t1 1=T+(m-1)=T+(m-1) =200ns+3=200ns+350ns=350ns=3.550ns=350ns=3.51010-7-7s s顺序存储器和交叉存储器的带宽分别是:顺序存储器和交叉存储器的带宽分别是:顺序:顺序: W W2 2=q/t=q/t2 2=256b=256b(8(81010-7-7)s=320Mb/s)s=320Mb/s交叉:交叉: W W1 1=q/t=q/t1 1=256b=256b(3.5(3.51010-7-7)s=731Mb/s)s=731Mb/s3. 3. 二模块

54、交叉存储器举例二模块交叉存储器举例二模块二模块( (各各1MB)1MB)交叉存储器交叉存储器(DRAM(DRAM构成构成) )方框图方框图二模块交叉存储器无等待状态成块存取示意图二模块交叉存储器无等待状态成块存取示意图3. 3. 二模块交叉存储器举例二模块交叉存储器举例补补充:充:相联存储器相联存储器CAM(ContentAddressedMemory)相联存储器相联存储器其中某一存储项内容作为地址来存取的存储器,其中某一存储项内容作为地址来存取的存储器,用来寻址存储器的字段叫做用来寻址存储器的字段叫做关键字关键字相联存储器中的项相联存储器中的项可视为由可视为由KEYKEY、DATADATA组

55、成,其中组成,其中KEYKEY是地址,是地址,DATADATA是被读写信息是被读写信息基本原理基本原理把存储单元所存内容的某一部分作为检索项把存储单元所存内容的某一部分作为检索项( (关关键字键字) ),去检索该存储器,并将与该检索项符合的存储单元内容,去检索该存储器,并将与该检索项符合的存储单元内容读出或写入读出或写入主要用途主要用途虚拟存储器中存放段表、页表和快表;高虚拟存储器中存放段表、页表和快表;高速缓冲存储器中,存放速缓冲存储器中,存放cache的行地址的行地址检索寄存器检索寄存器屏蔽寄存器屏蔽寄存器比较线路比较线路存储器存储器译译码码选选择择电电路路代码寄存器代码寄存器12.m符符

56、合合寄寄存存器器补充:补充:相联存储器相联存储器CAM(续续)检索寄存器检索寄存器屏蔽寄存器屏蔽寄存器符合寄存器符合寄存器比较线路比较线路代码寄存器代码寄存器存储体存储体3.6 Cache存储器存储器3.6.1 Cache3.6.1 Cache基本原理基本原理1. cache1. cache的功能:解决的功能:解决CPUCPU和主存间速度不匹配问题和主存间速度不匹配问题n采用高速采用高速SRAMSRAM构成构成n速度差别很大时采用两级或多级速度差别很大时采用两级或多级CacheCache系统系统n早期的一级早期的一级CacheCache在在CPUCPU内,二级在主板上内,二级在主板上n现在的现

57、在的CPUCPU内带内带L1 CacheL1 Cache和和L2 CacheL2 Cachen全由硬件调度全由硬件调度,对用户透明,对用户透明程序访问的局部性原理程序访问的局部性原理n空间局部:紧邻被访问单元的地方也将被访问空间局部:紧邻被访问单元的地方也将被访问n时间局部:刚被访问的单元很快将再次被访问时间局部:刚被访问的单元很快将再次被访问目录目录块传送3.6.1 Cache3.6.1 Cache基本原理基本原理2. cache2. cache的基本原理的基本原理n地址映射地址映射n替换策略替换策略n写一致性写一致性n性能评价性能评价基本原理小结:基本原理小结:n介于介于CPUCPU和主存

58、之间的小容量存储器和主存之间的小容量存储器:从功能上看,是主:从功能上看,是主存的缓冲存储器,由高速的存的缓冲存储器,由高速的SRAMSRAM组成;为追求高速,包组成;为追求高速,包括管理在内的全部功能由括管理在内的全部功能由硬件实现硬件实现,故对程序员,故对程序员透明透明nCacheCache的设计依据:的设计依据:程序访问的局部性程序访问的局部性nCPUCPU与与CacheCache间的数据传送是以间的数据传送是以字为单位字为单位n主存与主存与CacheCache间的数据传送是以间的数据传送是以块为单位块为单位nCPUCPU读主存读主存时,把地址同时送给时,把地址同时送给CacheCach

59、e和主存,和主存,CacheCache控制控制逻辑依据地址判断此字是否在逻辑依据地址判断此字是否在CacheCache中,若在立即传送给中,若在立即传送给CPUCPU;否则,用主存读周期把此字从主存读出送到;否则,用主存读周期把此字从主存读出送到CPUCPU,并把含有这个字的整个数据块从主存读出送到并把含有这个字的整个数据块从主存读出送到cachecache中中3.6.1 Cache3.6.1 Cache基本原理基本原理3. cache3. cache的命中率的命中率3.6.1 Cache3.6.1 Cache基本原理基本原理n设设NcNc、NmNm分别表示分别表示cachecache和主存完

60、成存取的总次数,和主存完成存取的总次数,命中率命中率h h的定义为:的定义为:h=h=NNc c/(N/(Nc c+N+Nmm) )n设设t tc c 、t tmm分别表示命中和未命中时分别表示命中和未命中时cachecache和主存的访问时间,则和主存的访问时间,则cache/cache/主存系统的平均访问时间主存系统的平均访问时间t ta a为:为:t ta a=h=h*t tc c+(1-h)t+(1-h)tmmn设设r=tr=tmm/ /t tc c表示主存慢于表示主存慢于cachecache的倍率,则的倍率,则访问效率访问效率e e 定义为:定义为:e=te=tc c/t /ta a

61、=t=tc c/h/h*t tc c+(1-h)+(1-h)*t tmm =1/h+(1-h) =1/h+(1-h)*r =1/r+(1-r)r =1/r+(1-r)*hhn增加增加cachecache的目的的目的使使t ta a尽可能接近尽可能接近t tc c;h h越接近越接近1 1越好;越好;r r值不值不宜太大,以宜太大,以5 51010为宜为宜n命中率命中率h h与与程序的行为程序的行为、cachecache的容量的容量、组织方式组织方式、块大小块大小有关有关例例6 6 CPUCPU执行一段程序时,执行一段程序时,cachecache完成存取的次数为完成存取的次数为19001900次

62、,主次,主存完成存取的次数为存完成存取的次数为100100次,已知次,已知cachecache存取周期为存取周期为50ns50ns,主存存,主存存取周期为取周期为250ns250ns,求,求cache/cache/主存系统的效率和平均访问时间主存系统的效率和平均访问时间 n公式公式命中率命中率Cache/主存系统平均访问时间主存系统平均访问时间访问效率访问效率Cache与内存的速度比与内存的速度比nh=h=NNc c/ /(NNc c+N+Nmm)=1900/(1900+100)=0.95=1900/(1900+100)=0.95nr=tr=tmm/ /t tc c=250ns/50ns=5=

63、250ns/50ns=5ne=1/(r+(1-r)h)=1/(5+(1-5)e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3%0.95)=83.3%nt ta a=t tc c/e/e=50ns/0.833=60ns =50ns/0.833=60ns 命中率命中率Cache/主存系统平均访问时间主存系统平均访问时间访问效率访问效率Cache与内存的速度比与内存的速度比n映射方法:映射方法: 全相联映射、直接映射、组相联映射全相联映射、直接映射、组相联映射n影响映射方式选择的因素:影响映射方式选择的因素:n硬件是否容易实现硬件是否容易实现n地址变换的速度地址变换的速度nCa

64、cheCache空间的利用率空间的利用率n主存装入一块时发生冲突的概率主存装入一块时发生冲突的概率3.6.2 3.6.2 主存与主存与CacheCache的地址映射的地址映射cachecache的容量很小,保存的内容只是主存内容的一个子集,的容量很小,保存的内容只是主存内容的一个子集,cachecache与主存的数据交换以与主存的数据交换以块块为单位为单位主存和主存和cache都要划都要划分为同样大小的分为同样大小的块块地址映射地址映射把主存地址定位到把主存地址定位到cachecache中的方法中的方法地址映射的相关基本概念地址映射的相关基本概念1) 1) 行行cachecache的数据块大小

65、的数据块大小用用L Li i表示,表示,i=0,1,2,i=0,1,2,m-1m-1,共有,共有m=2m=2r r行行2) 2) 块块主存的数据块大小主存的数据块大小用用B Bj j表示,表示,j= 0,1,2,j= 0,1,2,n-1n-1,共有,共有n=2n=2s s块块3) 3) 行、块、字的关系行、块、字的关系:1 1行行1 1块,由块,由k=2k=2ww个连续的字组成个连续的字组成( (字是字是CPUCPU每次访问存储器时可存取的最小单位每次访问存储器时可存取的最小单位) )n映射方法映射方法( (多对多多对多) )n主存内容可以拷贝到主存内容可以拷贝到cache的任意行中的任意行中

66、n主存中一个块的地址主存中一个块的地址( (块号块号) )与块的内容一起存于与块的内容一起存于cachecache行中,行中,其中块地址存于其中块地址存于cachecache行的标记部分行的标记部分n地址变换地址变换n标记构成一个目录表标记构成一个目录表设设cachecache8 8行,主存行,主存256256块,每块块,每块( (行行) )有同样多的字,则有同样多的字,则行号行号字地址字地址cachecache的地址的地址主存的地址主存的地址块号块号字地址字地址行号行号3 3 bit bit块号块号8 8 bit bit字地址:字地址:w bitw bit1. 1. 全相联映射方式全相联映射

67、方式全相联映射方式示意图全相联映射方式示意图全相联映射的全相联映射的CacheCache组织组织访问方法访问方法: :CPUCPU访问一个指定的内存地址访问一个指定的内存地址( (包括主存和包括主存和cache)cache),块号与,块号与cachecache中所有行的标记同时在比较器中比较,中所有行的标记同时在比较器中比较,若命中若命中按字地按字地址从址从cachecache中读取一个字;中读取一个字;若未命中若未命中按内存地址从主存中读按内存地址从主存中读取该字,并将该字所在的一个块调入取该字,并将该字所在的一个块调入cachecache实现方式:实现方式:全部标记用一个全部标记用一个CA

68、MCAM实现;数据用实现;数据用RAMRAM实现实现优点:优点:灵活,灵活,冲突概率小,冲突概率小,Cache的利用率高的利用率高缺点:缺点:比较器电路难于设计和实现,比较器电路难于设计和实现,需要一个访问速度很快、代需要一个访问速度很快、代价高的相联存储器价高的相联存储器应用:应用:适合于小容量适合于小容量cachecache全相联映射方式总结全相联映射方式总结多对一多对一的映射关系的映射关系一个主存块只能拷一个主存块只能拷贝到贝到cachecache的一个特的一个特定行定行cachecache的行号的行号i i和主存和主存的块号的块号j j的关系:的关系: i i=j mod m=j mo

69、d mmm为为cachecache的总的总行数行数如如m=8m=8映射示意图映射示意图2. 2. 直接映射方式直接映射方式同样,设同样,设cachecache为为8 8行,主存为行,主存为256256块,每块块,每块( (行行) )有同样多的字有同样多的字则允许存则允许存于于cachecache第第L L0 0 B B0 0,B B8 8,B B1616,B B248248L L1 1 B B1 1,B B9 9,B B1717,B B249249L L2 2 的主存块号是的主存块号是 B B2 2,B B1010,B B1818,B B250250L L7 7 B B7 7,B B1515,

70、B B2323,B B255255行号行号字地址字地址cachecache的地址的地址主存的地址主存的地址标记标记字地址字地址行号行号: :r r bitbit,本例为,本例为3 3块号块号: :s s bit bit,本例为,本例为8 8其中标记其中标记s-rs-r bit bit ,本例为,本例为5 5块地址块地址 s s bits s位的块地址分成两部分位的块地址分成两部分r r位的位的行号行号和和s-rs-r位位标记标记每一个每一个cachecache行只可映射主存中特定的行只可映射主存中特定的3232个块个块3232个块个块直接映射的直接映射的CacheCache组织组织访问方法:访

71、问方法:首先用首先用r bitr bit行号找到行号找到cachecache中的该行,再用地址中的中的该行,再用地址中的s- s-r r bit bit标记与此行的标记比较,若相符标记与此行的标记比较,若相符( (命中命中) ),则用地址的最低,则用地址的最低ww位位( (字地址字地址) )读取该字;若不符读取该字;若不符( (未命中未命中) ) ,由主存读取该字,并将此字,由主存读取该字,并将此字对应的一个块调入对应的一个块调入cachecache优点:优点:硬件简单,成本低硬件简单,成本低缺点:缺点:每个主存块只有一个固定的行可存放,易产生冲突每个主存块只有一个固定的行可存放,易产生冲突冲

72、突情况:冲突情况:块号相距块号相距mm整数倍的两个块,只能映射到整数倍的两个块,只能映射到cachecache的同的同一行,若新块不在一行,若新块不在cachecache中而对应行号又已占用,就发生了冲突,中而对应行号又已占用,就发生了冲突,只能用新的块替代原来占用只能用新的块替代原来占用cachecache此行中的块,即使此行中的块,即使cachecache还有其还有其它空行,也不可利用它空行,也不可利用频繁置换会降低频繁置换会降低cachecache的效率的效率应用:应用:适合大容量适合大容量cachecache采用,因为行数多使冲突的机会减小采用,因为行数多使冲突的机会减小直接映射方式总

73、结直接映射方式总结 将将cachecache分成分成u u组组,每组,每组v v行行,主存块存放到哪个组是固定的,但,主存块存放到哪个组是固定的,但在该组哪一行是灵活的,在该组哪一行是灵活的,即即组间直接映射,组内全相联映射组间直接映射,组内全相联映射 mmu uv v 组号:组号:q qj mod uj mod u B B0 0,B B4 4,B B8 8,B B252252共共6464个块映射到个块映射到cachecache的的s s0 0组组B B1 1,B B5 5,B B9 9,B B253253共共6464个块映射到个块映射到cachecache的的s s1 1组组B B2 2,B

74、 B6 6,B B1010,B B254254共共6464个块映射到个块映射到cachecache的的s s2 2组组B B3 3,B B7 7,B B11 11,B B255255共共6464个块映射到个块映射到cachecache的的s s3 3组组主存的主存的3. 3. 组相联映射方式组相联映射方式前两种方式的折衷前两种方式的折衷例:例:cachecache共共8 8行行,分,分4 4组组,每组,每组2 2行行,组号,组号2bit2bit,组内行号,组内行号1bit1bit 主存主存256256块,主存的块号块,主存的块号j j与与cachecache的组号的组号q q的对应关系是:的对

75、应关系是:q=j mod 4q=j mod 4,即,即s s位块号分成两部分位块号分成两部分低低d d位为组号,高位为组号,高s-ds-d位标记位标记注:注:为了便于比较器实现,组相联映射中的每组行数为了便于比较器实现,组相联映射中的每组行数v v一般取值一般取值较小,典型值为较小,典型值为2 2、4 4、8 8、1616组相联映射组相联映射CacheCache示意图示意图操作过程:操作过程:首先将根据其首先将根据其标记与所在组的每一个行比标记与所在组的每一个行比较,查找是否在较,查找是否在cachecache中,中,若在,则命中,由低若在,则命中,由低ww位的位的块内地址直接访问块内地址直接

76、访问cachecache;若不在,则访问主存,同时若不在,则访问主存,同时更新更新cachecache组相联映射的组相联映射的CacheCache组织组织特点:比全相联容易实现,比直接映射冲突低特点:比全相联容易实现,比直接映射冲突低nv=1v=1,则为直接映射方式,则为直接映射方式nu=1u=1,则为全相联映射方式,则为全相联映射方式nv v取值一般较小,且为取值一般较小,且为2 2的幂,称为的幂,称为v v路组相联路组相联cachecache组相联映射方式总结组相联映射方式总结例例7 7 直接映射方式的内存格式如下,若主存地址用十六进制表示直接映射方式的内存格式如下,若主存地址用十六进制表

77、示为为BBBBBBBBBBBB,请用十六进制格式表示直接映射方法,请用十六进制格式表示直接映射方法cachecache的标记、的标记、行、字的值行、字的值n解:解:主存地址主存地址(BBBBBB)(BBBBBB)1616=(1011 1011 =(1011 1011 10111011 10111011 10111011 1011) 1011)2 2故:故:8 8位的标记为:位的标记为:(1011 1011)(1011 1011)2 2=(BB)=(BB)16161414位的行号为:位的行号为:(1011 1011 (1011 1011 10111011 10) 10)2 2=(2EEE)=(2

78、EEE)16162 2位的字地址为:位的字地址为:(11)(11)2 2=(3)=(3)1616标记s-r行r字w8位14位2位例例8 8 一个组相联一个组相联cachecache由由6464个行组成,每组个行组成,每组4 4行。主存储器包含行。主存储器包含4K4K个块,每块个块,每块128128字。请表示内存地址的格式字。请表示内存地址的格式n解:解:块大小为块大小为128128字,故字地址为字,故字地址为7 7位位cache64cache64行,每组行,每组4 4行,故分为行,故分为1616组,组号组,组号4 4位位主存主存4K4K个块,故块地址个块,故块地址1212位,组相联方式中,组号

79、占位,组相联方式中,组号占4 4位,所以位,所以标记为标记为12-4=812-4=8位位内存地址格式如下:内存地址格式如下:标记s-d组号d字w8位4位7位例例9 9 一个处理器,主存容量一个处理器,主存容量1MB1MB,字长,字长1B1B,块大小,块大小16B16B,cachecache容容量量64KB64KB。若。若cachecache采用全相联映射,对内存地址采用全相联映射,对内存地址(B0010)(B0010)给出相给出相应的标记和字号。应的标记和字号。n解:解:全相联映射方式中,主存的块号作为标记全相联映射方式中,主存的块号作为标记主存分为主存分为1MB/16B=21MB/16B=2

80、1616个块,块号个块,块号( (标记标记)16)16位位块大小块大小16B16B,块内字地址,块内字地址4 4位位内存地址内存地址(B0010)(B0010)1616= (1011 0000 = (1011 0000 00000000 0001 0000) 0001 0000)1616故标记为:故标记为:(B001)(B001)1616;字号为:;字号为:(0)(0)1616直接映射直接映射cachecache直接将特定位置上的原主存块换出直接将特定位置上的原主存块换出全相联和组相联全相联和组相联cachecache从允许存放新主存块的若干特定行中选从允许存放新主存块的若干特定行中选取一行换

81、出取一行换出 将一段时间内被访问次数最少的那行换出将一段时间内被访问次数最少的那行换出实现方法:实现方法:每行设置一个计数器,从每行设置一个计数器,从0 0开始,每访问一次,开始,每访问一次, 被被访行的计数器增访行的计数器增1 1,需要替换时,将,需要替换时,将计数值最小的行换出计数值最小的行换出,同时,同时将这些行计数器清零将这些行计数器清零换出换出( (替换、淘汰替换、淘汰) )某一行常用的算法某一行常用的算法1 1、最不经常使用、最不经常使用(LFU)(LFU)算法算法问题:问题:不能严格反映近期访问情况不能严格反映近期访问情况3.6.3 3.6.3 替换策略替换策略( (替换算法替换

82、算法硬件实现硬件实现) )最不经常使用法最不经常使用法最近最少使用法最近最少使用法随机替换随机替换2 2 近期最少使用近期最少使用(LRU)(LRU)算法算法将近期内长久未被访问过的行换出将近期内长久未被访问过的行换出实现方法:每行设置一个计数器,每次命中,命中行计数器清零,实现方法:每行设置一个计数器,每次命中,命中行计数器清零,其它行计数器增其它行计数器增1 1,需要替换时,将,需要替换时,将计数值最大的行换出计数值最大的行换出优点:保护了刚拷贝到优点:保护了刚拷贝到cachecache中的新数据行,命中率较高中的新数据行,命中率较高2 2路组相联方式的简化路组相联方式的简化LRULRU控

83、制算法控制算法(Pentium(Pentium的数据的数据cachecache采用采用) )3 3 随机替换随机替换从特定的行位置中从特定的行位置中随机选取一行换出随机选取一行换出优点:硬件上易实现,且速度也比前两种快优点:硬件上易实现,且速度也比前两种快缺点:但降低了命中率和缺点:但降低了命中率和cachecache工作效率工作效率3.6.3 3.6.3 替换策略替换策略写操作策略写操作策略使使cachecache内容和主存内容保持一致内容和主存内容保持一致1 1 写回法写回法CPUCPU写写cachecache命中时,只修改命中时,只修改cachecache的内容;写的内容;写cachec

84、ache未命中也未命中也不写主存,拷入后只写不写主存,拷入后只写cachecache,只有当此行,只有当此行被换出时才写回主存被换出时才写回主存减少了访问主存的次数减少了访问主存的次数,但,但存在不一致性隐患存在不一致性隐患实现方法:实现方法:每个每个cachecache行配置一个行配置一个修改位修改位,反映是否被修改过,反映是否被修改过3.6.4 Cache3.6.4 Cache的写操作策略的写操作策略写回法写回法全写法全写法写一次法写一次法常用的写操作策略常用的写操作策略2 2 全写法全写法 写写cachecache命中时,命中时,cachecache与主存同时修改;写与主存同时修改;写c

85、achecache未命中则直未命中则直接写主存,修改主存后的处理方法接写主存,修改主存后的处理方法WTWAWTWA、WTNWAWTNWA优点:优点:较好地较好地维护了维护了cachecache与主存内容的一致性;与主存内容的一致性;cachecache中每行无中每行无需设置修改位及相应的判断逻辑需设置修改位及相应的判断逻辑缺点:缺点:降低了降低了cachecache的功效的功效 3 3 写一次法写一次法 与写回法的不同,仅在于与写回法的不同,仅在于第一次写命中时要同时写入主存第一次写命中时要同时写入主存奔腾的片内数据奔腾的片内数据cachecache就是采用写一次法就是采用写一次法3.6.5

86、3.6.5 Pentium 4Pentium 4的的CacheCache组织组织Pentium 4Pentium 4的的CacheCache布局图布局图说明说明3.6.6 3.6.6 使用多级使用多级CacheCache减少缺失损失减少缺失损失( (二级二级cache)cache)例例10 10 某处理器,基本某处理器,基本CPICPI为为1.01.0,时钟频率,时钟频率5GHz5GHz。设访问一次主。设访问一次主存的时间为存的时间为100ns100ns,其中包括所有的缺失处理。设平均每条指令,其中包括所有的缺失处理。设平均每条指令在第一级在第一级cachecache中所产生的缺失率为中所产生

87、的缺失率为2%2%。如果增加一个二级。如果增加一个二级cachecache,命中或缺失的访问时间都是,命中或缺失的访问时间都是5ns5ns,而且容量大到可使必须,而且容量大到可使必须访问主存的缺失率减为访问主存的缺失率减为0.5%0.5%,问处理器速率提高多少?,问处理器速率提高多少?解:必须访问主存的缺失损失为解:必须访问主存的缺失损失为100ns100ns5109=500个个时钟时钟周期周期只有一级只有一级cachecache时,有时,有2%2%的概率还要再访问主存,所以的概率还要再访问主存,所以有效有效CPI=1.0+2%CPI=1.0+2%500=11设设置二置二级级cache后,后,

88、有有2%2%的概率由二级的概率由二级cachecache处理,有处理,有0.5%0.5%的概的概率由主存处理率由主存处理访问访问二二级级cache的缺失的缺失损损失失为为5ns5109=25个个时钟时钟周期周期所以所以有效有效CPI=1.0+2%=1.0+2%25+0.5%500=4.0故故处处理器速率提高理器速率提高11.0/4.0=2.75倍倍n采用更高速的主存或加长存储器字长采用更高速的主存或加长存储器字长n采用并行操作的双端口存储器采用并行操作的双端口存储器n采用交叉存储器采用交叉存储器n采用采用CacheCache加速加速CPUCPU与主存间有效传输的措施与主存间有效传输的措施3.7

89、 3.7 虚拟存储器虚拟存储器3.7.13.7.1 虚拟存储器的基本概念虚拟存储器的基本概念虚拟存储器虚拟存储器建立在主存与辅存物理结构基础之上,由附加硬建立在主存与辅存物理结构基础之上,由附加硬件装置及操作系统管理软件组成的一种存储体系;是个件装置及操作系统管理软件组成的一种存储体系;是个概念模概念模型型,不是实际的物理存储器,不是实际的物理存储器具有具有辅存的容量辅存的容量和和接近主存的访问速度接近主存的访问速度1 1、实地址与虚地址、实地址与虚地址l用户编制程序时使用的地址称为用户编制程序时使用的地址称为虚地址虚地址或或逻辑地址逻辑地址,其对应的,其对应的存储空间称为存储空间称为虚存空间

90、虚存空间或或逻辑地址空间逻辑地址空间l计算机物理内存的访问地址称为计算机物理内存的访问地址称为实地址实地址或或物理地址物理地址,其对应的,其对应的存储空间称为存储空间称为物理存储空间物理存储空间或或主存空间主存空间l程序进行虚地址到实地址转换的过程称为程序进行虚地址到实地址转换的过程称为程序的再程序的再( (重重) )定位定位目录目录2 2、虚存的访问过程、虚存的访问过程l虚存空间的用户程序按照虚存空间的用户程序按照虚地址虚地址编程并存放在编程并存放在辅存辅存中中l访存的过程访存的过程l结论结论每个程序的虚地址空间可以远大于实地址空间;也可每个程序的虚地址空间可以远大于实地址空间;也可以远小于

91、实地址空间以远小于实地址空间好处好处3 3、cachecache与虚存的异同与虚存的异同n主存主存- -辅存辅存的访问机制与的访问机制与cache-cache-主存主存的访问机制类似,是的访问机制类似,是三级存三级存储体系中的两个层次储体系中的两个层次ncachecache和主存和主存之间由之间由辅助硬件辅助硬件负责地址变换与管理;负责地址变换与管理;主存和辅存主存和辅存之间由之间由辅助软、硬件辅助软、硬件负责地址变换与管理,构成负责地址变换与管理,构成虚拟存储器虚拟存储器Cache-Cache-主存、主存主存、主存- -辅存两个存储层次的比较辅存两个存储层次的比较相同点:相同点:(1)(1)

92、出发点相同出发点相同:存储系统的性价比;性能、价格和容量:存储系统的性价比;性能、价格和容量(2)(2)原理相同原理相同:程序运行时的局部性原理:程序运行时的局部性原理不同点:不同点:(1)(1)侧重点不同侧重点不同:cachecache速度差异;虚存速度差异;虚存存储容量、存储存储容量、存储管理、主存分配和存储保护等管理、主存分配和存储保护等(2)(2)数据通路不同数据通路不同:未命中时的访问方法:未命中时的访问方法(3)(3)透明性不同透明性不同:cachecache对系统程序员和应用程序员均透明;而虚对系统程序员和应用程序员均透明;而虚存对实现存储管理的系统程序员不透明,只对应用程序员透

93、明存对实现存储管理的系统程序员不透明,只对应用程序员透明( (段式和段页式管理对应用程序员段式和段页式管理对应用程序员“半透明半透明”) )(4)(4)未命中时的损失不同未命中时的损失不同:主存的存取时间是:主存的存取时间是cachecache的的5 51010倍;倍;主存的存取速度通常比辅存快上千倍主存的存取速度通常比辅存快上千倍4 4、虚存机制要解决的关键问题、虚存机制要解决的关键问题在操作系统的控制下,由硬件和系统软件负责解决在操作系统的控制下,由硬件和系统软件负责解决(1)(1)调度问题:调度问题:决定哪些程序和数据应被调入主存决定哪些程序和数据应被调入主存(2)(2)地址映射问题:地

94、址映射问题:内地址变换内地址变换访问主存时把虚地址变为主存物理地址访问主存时把虚地址变为主存物理地址外地址变换外地址变换访问辅存时把虚地址变成辅存的物理地址访问辅存时把虚地址变成辅存的物理地址还要解决还要解决主存分配主存分配、存储保护存储保护与与程序再定位程序再定位等问题等问题(3)(3)替换问题:替换问题:决定哪些程序和数据应被调出主存决定哪些程序和数据应被调出主存(4)(4)更新问题:更新问题:确保主存与辅存的一致性确保主存与辅存的一致性1 1、页式虚存地址映射、页式虚存地址映射主存和虚拟地址空间都划分成大小相等的页主存和虚拟地址空间都划分成大小相等的页( (页面大小为页面大小为2 2的整

95、数的整数幂幂) )物理页、逻辑页物理页、逻辑页虚地址虚地址高字段为高字段为逻辑页号逻辑页号,低字段为,低字段为页内地址页内地址( (偏移量偏移量) )实存地址实存地址高字段为高字段为物理页号物理页号,低字段为,低字段为页内地址页内地址虚地址虚地址( (逻辑地址逻辑地址) )转换成物理地址通过转换成物理地址通过页表页表完成完成3.7.2 3.7.2 页式虚拟存储器页式虚拟存储器每个进程对应一个页表;每个虚存页面在页表中有一个表项,表每个进程对应一个页表;每个虚存页面在页表中有一个表项,表项的内容包含该虚存页面所在项的内容包含该虚存页面所在主存页面的地址主存页面的地址(物理页号物理页号),以及,以

96、及指示该逻辑页指示该逻辑页是否已调入主存是否已调入主存的有效位的有效位页表长度可变页表长度可变把页表的基地址保存在寄存器中,页表本身则把页表的基地址保存在寄存器中,页表本身则放在主存中放在主存中页式虚拟存储器的地址映射过程页式虚拟存储器的地址映射过程页表基地址页表基地址逻辑页号逻辑页号 页内行地址页内行地址物理页号物理页号 页内行地址页内行地址页表基址寄存器页表基址寄存器虚存地址虚存地址实存地址实存地址+ +页表页表( (在主存中在主存中) )有效位有效位 主存页面号主存页面号页表很长时的处理方法页表很长时的处理方法把把页表存储在虚存页表存储在虚存中中:页表本身也要分页页表本身也要分页,当一个

97、进程运,当一个进程运行时,其行时,其页表中一部分在主存页表中一部分在主存,另一部分则在辅存另一部分则在辅存中中采用采用二级页表结构二级页表结构:每个进程有一个:每个进程有一个页目录表页目录表,其中的每,其中的每个表项指向一个页表,此时,若页目录表的长度是个表项指向一个页表,此时,若页目录表的长度是m,每个页,每个页表的最大长度为表的最大长度为n,则一个进程最多可以有,则一个进程最多可以有mn个页个页采用采用反向页表反向页表:实现:实现物理页号到逻辑页号的反向映射物理页号到逻辑页号的反向映射,页表,页表中对应每一个物理页号有一个表项,表项的内容包含该物理页中对应每一个物理页号有一个表项,表项的内

98、容包含该物理页所对应的逻辑页号所对应的逻辑页号访存过程访存过程2 2、转换后援缓冲器、转换后援缓冲器(TLB(TLBTranslation Translation LookasideLookaside Buffer) Buffer)访问虚存时存在的问题访问虚存时存在的问题减少对主存访问次数的方法减少对主存访问次数的方法对页表实行对页表实行二级缓存二级缓存TLB用于页表缓存的高速存储部件用于页表缓存的高速存储部件快表快表把页表中最活跃的部分存在高速存储器中构成把页表中最活跃的部分存在高速存储器中构成慢表慢表保存在主存中的完整页表保存在主存中的完整页表TLB的的作用作用与与Cache的作用相似,通

99、常由的作用相似,通常由相联存储器相联存储器实现,是实现,是慢表中部分信息的慢表中部分信息的副本副本访存过程访存过程(1) 程序局部性原理使多数虚存访问都将通过程序局部性原理使多数虚存访问都将通过TLB完成完成(2) TLB匹配不成功时的处理匹配不成功时的处理TLBTLB的地址映射过程的地址映射过程n内页表内页表虚地址到主存物理地址的变换表虚地址到主存物理地址的变换表n外页表外页表用于虚地址与辅存地址之间的变换用于虚地址与辅存地址之间的变换n外页表的结构外页表的结构与辅存的寻址机制密切相关与辅存的寻址机制密切相关当主存缺页时,实施当主存缺页时,实施调页操作调页操作需要定位辅存需要定位辅存3. 3

100、. 内页表和外页表内页表和外页表n分页方式的优点分页方式的优点:页长固定,易于管理,不存在外碎片:页长固定,易于管理,不存在外碎片n缺点缺点:页长与程序的逻辑大小无关,不利于编程的独立性:页长与程序的逻辑大小无关,不利于编程的独立性( (分分页对于程序员不可见页对于程序员不可见) )例例11 11 由页式虚拟存储器、由页式虚拟存储器、TLBTLB和和cachecache组成的存储层次结构中,访组成的存储层次结构中,访问存储器可能会遇到问存储器可能会遇到3 3种不同类型的缺失:种不同类型的缺失:cachecache缺失、缺失、TLBTLB缺失缺失和缺页。研究这和缺页。研究这3 3种缺失会发生一个

101、或多个时的所有可能组合。种缺失会发生一个或多个时的所有可能组合。对每种情况说明是否真的会发生以及发生的条件对每种情况说明是否真的会发生以及发生的条件n最好情况最好情况虚地址由虚地址由TLBTLB转换,并在转换,并在cachecache中命中中命中n最坏情况最坏情况在在TLBTLB、页表和、页表和cachecache部分都产生缺失部分都产生缺失4. 4. 虚拟存储器、虚拟存储器、TLBTLB和和cachecache的协同操作的协同操作虚拟存储器、虚拟存储器、TLBTLB和和cachecache发生事件的可能组合发生事件的可能组合TLB 页表页表 cache可能发生吗,如可能,发生的背景可能发生吗

102、,如可能,发生的背景命中 命中缺失可能,但若TLB命中就不可能再去检查页表命中 命中命中可能,但若TLB命中就不可能再去检查页表缺失 命中命中TLB缺失,但在页表中找到表项,并在cache中找到数据缺失 命中缺失TLB缺失,但在页表中找到表项,未在cache中找到数据缺失 缺失缺失TLB缺失并缺页,未在cache中找到数据命中 缺失缺失不可能,若页不在内存中,TLB中没有此变换命中 缺失命中不可能,若也不在内存中,TLB中没有此变换缺失 缺失命中不可能,若也不在内存中,数据不会在cache中存在3.7.33.7.3段式虚拟存储器和段页式虚拟存储器段式虚拟存储器和段页式虚拟存储器1 1、段式虚拟

103、存储器、段式虚拟存储器段段按照程序的自然分界划分、长度可动态改变按照程序的自然分界划分、长度可动态改变通常,程序员把不同类型的数据划分到不同的段中,并且每个程通常,程序员把不同类型的数据划分到不同的段中,并且每个程序可以有多个相同类型的段序可以有多个相同类型的段虚地址构成虚地址构成段号和段内地址段号和段内地址( (偏移量偏移量) )段表段表虚地址到实主存地址的变换虚地址到实主存地址的变换( (每个程序设置一个段表每个程序设置一个段表) )段表的结构段表的结构:每个表项至少包含三个字段:每个表项至少包含三个字段(1)(1)有效位有效位:指明该段是否已调入实存:指明该段是否已调入实存(2)(2)段

104、起址段起址:已调入实存情况下,指明该段在实存中的首址:已调入实存情况下,指明该段在实存中的首址(3)(3)段长段长:该段的实际长度,设置该字段的目的是为了防止地:该段的实际长度,设置该字段的目的是为了防止地址越界而破坏其他段址越界而破坏其他段段表段表本身也是一个段,可存于辅存,但本身也是一个段,可存于辅存,但一般驻留在主存一般驻留在主存段表基地址段表基地址段号段号 段内地址段内地址 主存地址主存地址 段表基址寄存器段表基址寄存器虚存地址虚存地址实存地址实存地址+ +段表(在主存中)段表(在主存中)+ +段起址段起址 装入位装入位段长段长段号段号段式虚存的地址映射过程段式虚存的地址映射过程地址变

105、换过程地址变换过程及越界判断及越界判断n优点优点段的逻辑独立性使其段的逻辑独立性使其易于编译、管理、修改和保护易于编译、管理、修改和保护,便于多道便于多道程序共享程序共享( (分段对程序员是可见的分段对程序员是可见的) )段长可以根据需要动态改变,允许自由调度,可段长可以根据需要动态改变,允许自由调度,可有效利用主存有效利用主存空间空间n缺点缺点段长不固定使段长不固定使主存空间分配较麻烦主存空间分配较麻烦易在段间留下许多外碎片,使易在段间留下许多外碎片,使存储空间利用率降低存储空间利用率降低由于段长不一定是由于段长不一定是2 2的整数次幂,地址转换时,必须通过段起址的整数次幂,地址转换时,必须

106、通过段起址与段内偏移量的求和运算才能求得物理地址,而不能像页式那与段内偏移量的求和运算才能求得物理地址,而不能像页式那样简单拼接样简单拼接段式比页式存储管理方式需要更多的硬件支持段式比页式存储管理方式需要更多的硬件支持段式虚拟存储器特点段式虚拟存储器特点为什么页式可为什么页式可以简单拼接,以简单拼接,而段式不行而段式不行?2 2、段页式虚拟存储器、段页式虚拟存储器段式和页式的结合段式和页式的结合实存被等分成页实存被等分成页每个程序先按逻辑结构分段,每段再按照实存的页大小分页,程每个程序先按逻辑结构分段,每段再按照实存的页大小分页,程序序按页调入和调出按页调入和调出,但可,但可按段进行编程、保护

107、和共享按段进行编程、保护和共享定位方式:定位方式:每道程序通过每道程序通过一个段表一个段表和和多个页表多个页表进行两级再定位进行两级再定位段表:段表:每个表项对应一个段,有一个指针指向该段的页表每个表项对应一个段,有一个指针指向该段的页表页表:页表:该段各页在主存的位置、是否已装入、是否已修改等该段各页在主存的位置、是否已装入、是否已修改等虚地址构成:虚地址构成:基号、段号、段内页号、页内偏移量基号、段号、段内页号、页内偏移量(基号基号N) 段号段号S 段内逻辑页号段内逻辑页号P 页内地址偏移量页内地址偏移量D若系统中只有一个基址寄存器,则不需基号;多若系统中只有一个基址寄存器,则不需基号;多

108、道程序切换时,由操作系统修改基址寄存器内容道程序切换时,由操作系统修改基址寄存器内容缺点:缺点:地址映射需多次查表,实现复杂度较高速度较慢地址映射需多次查表,实现复杂度较高速度较慢基号:基号:用户标志号,用于指明该道程序的段表起始地址用户标志号,用于指明该道程序的段表起始地址【例例1212】假设有三道程序,基号假设有三道程序,基号A A、B B和和C C表示,其基址寄存器内容分别表示,其基址寄存器内容分别为为S SA A,S SB B,S SC C。在主存中,每道程序都有一张段表,程序。在主存中,每道程序都有一张段表,程序A A由由4 4段段构成,程序构成,程序C C由由3 3段构成。每段有一

109、张页表,段表的每行就表示段构成。每段有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。相应页表的起始位置,而页表内的每行即为相应的物理页号。段页式虚拟存储系统的逻辑地址到物理地址的变换过程如图段页式虚拟存储系统的逻辑地址到物理地址的变换过程如图 解:地址转换过程如下:解:地址转换过程如下: (1) (1) 根据基号根据基号C C,找到段表基址寄存器表第,找到段表基址寄存器表第C C个表项,获得个表项,获得C C的的段表基址段表基址S SC C ;再根据段号;再根据段号S(=1)S(=1)找到程序找到程序C C段表的第段表的第S S个表项,得个表项,得到段到段S

110、S的页表起始地址的页表起始地址b b (2) (2) 根据段内逻辑页号根据段内逻辑页号P(=2)P(=2)检索页表,得到物理页号检索页表,得到物理页号(=10)(=10) (3) (3) 物理页号与页内地址拼接即得物理地址物理页号与页内地址拼接即得物理地址每个段表和页表的表项中都应设置一个有效位,只有在有效位为每个段表和页表的表项中都应设置一个有效位,只有在有效位为1时才按照上述流程操作,否则需中断当前操作先进行建表或调页时才按照上述流程操作,否则需中断当前操作先进行建表或调页段页式虚存的地址变换过程段页式虚存的地址变换过程C12SASBSCabc10d128710124+基址寄存器基址寄存器

111、程序程序A段表段表程序程序C段表段表SA+0SA+1SA+2SA+3SC+0SC+1SC+2a+0a+1b+0b+1b+2c+0c+1逻辑地址逻辑地址物理地址物理地址基号基号段号段号页号页号页内地址页内地址物理页号物理页号3.7.4 3.7.4 虚存的替换算法虚存的替换算法l从辅存调页至主存而主存已满时,需要进行主存页面的替换从辅存调页至主存而主存已满时,需要进行主存页面的替换l算法与算法与cachecache的替换类似,有的替换类似,有FIFOFIFO、LRULRU、LFULFU算法算法等等l虚存中的页面替换策略和虚存中的页面替换策略和cachecache中的行替换策略的中的行替换策略的显著

112、不同显著不同:(1) cache(1) cache的替换全靠硬件实现;虚存的替换有操作系统的支持的替换全靠硬件实现;虚存的替换有操作系统的支持(2)(2)虚存缺页对系统性能的影响比虚存缺页对系统性能的影响比cachecache未命中要大得多未命中要大得多,因为调,因为调页需要访问辅存,并且要进行任务切换页需要访问辅存,并且要进行任务切换(3)(3)虚存页面替换选择余地很大虚存页面替换选择余地很大,属于一个进程的页面都可替换,属于一个进程的页面都可替换l为支持虚存的替换,通常在为支持虚存的替换,通常在页表或段表的每个表项中页表或段表的每个表项中设置一个设置一个修改位修改位标识对应的页或段空间被调

113、入主存后是否被修改过标识对应的页或段空间被调入主存后是否被修改过n【例例1313】假设主存只有假设主存只有a,b,ca,b,c三个页面,组成三个页面,组成a a进进c c出的出的FIFOFIFO队列,队列,进程访问页面的序列是进程访问页面的序列是0 0,1 1,2 2,4 4,2 2,3 3,0 0,2 2,1 1,3 3,2 2号。号。若采用若采用FIFOFIFO算法,算法,FIFOFIFO算法算法+LRU+LRU算法算法,用列表法分别求,用列表法分别求两种替换策略情况下的命中率。两种替换策略情况下的命中率。n【解解】求解表格如下所示求解表格如下所示页面访问序列页面访问序列012423021

114、32命中率命中率FIFO算法算法a012443021332/11=18.2%b0122430211c011243022命中命中命中命中FIFO+LRU算法算法a012423021323/11=27.3%b0124230213c011423021命中命中命中命中命中命中3.83.8奔腾系列机奔腾系列机(IA-32(IA-32体系结构体系结构) )的虚存组织的虚存组织3.8.1 3.8.1 存储器模型存储器模型平坦存储器模型平坦存储器模型(Flatmemorymodel)单一、连续的地址空间单一、连续的地址空间线性地址空间线性地址空间(0 232-1)分段存储器模型分段存储器模型(Segmente

115、dmemorymodel)逻辑地址包括段选择器和偏移量;段最大长度逻辑地址包括段选择器和偏移量;段最大长度232B处理机将逻辑地址处理机将逻辑地址透明透明地转换为线性地址地转换为线性地址实地址模式存储器模型实地址模式存储器模型(Real-addressmodememorymodel)线性地址空间线性地址空间(最大长度最大长度220B)分段,段最大长度分段,段最大长度64KB为了为了与与8086兼容兼容目录目录3.8.2 3.8.2 虚地址模式虚地址模式存储管理部件存储管理部件分段部件分段部件SU和分页部件和分页部件PU,可独立使用,可独立使用SU将虚地址转换成线性地址将虚地址转换成线性地址PU

116、将线性地址转换为物理地址将线性地址转换为物理地址l不分段不分页模式不分段不分页模式:逻辑地址与物理地址相同:逻辑地址与物理地址相同l分段不分页分段不分页:段式段式虚存,逻辑地址含一个虚存,逻辑地址含一个16位段选择器位段选择器(最低最低2位用于存储保护位用于存储保护)和一个和一个32位偏移量,虚存空间位偏移量,虚存空间214+32=246B;由;由SU将二维虚地址转换为线性地址将二维虚地址转换为线性地址(PU不工作,也就是物理地址不工作,也就是物理地址)l不分段分页不分段分页:页式页式虚拟存储器,程序使用的虚拟存储器,程序使用的32位线性地址由位线性地址由PU转换为转换为32位物理地址,虚存空

117、间位物理地址,虚存空间232Bl分段分页分段分页:段页式段页式虚存,逻辑地址含一个虚存,逻辑地址含一个16位段选择器和一个位段选择器和一个32位偏移量,由位偏移量,由SU转换位线性地址,再由转换位线性地址,再由PU转换为物理地址,转换为物理地址,虚存空间虚存空间214+32=246B3.8.3 3.8.3 分页模式下的地址转换分页模式下的地址转换两种页大小,地址映射方式不同两种页大小,地址映射方式不同l4KB分页方式分页方式:页目录表和页表两级结构:页目录表和页表两级结构l4MB分页方式分页方式:单级页表结构:单级页表结构4MB分页方式的地址转换分页方式的地址转换:高:高10的页号和低的页号和

118、低22位的页内偏移量位的页内偏移量构成构成32位线性地址;位线性地址;页表页表含含1024个表项,每个表项个表项,每个表项32位位312221876543210页框基址页框基址保留保留IDAPCDPWTUSRWP页表项的格式页表项的格式I:指示页大小:指示页大小P:出现位:出现位A:已访问位:已访问位D:脏位:脏位R/W:读:读/写控制位写控制位U/S:用户:用户/管理员权限控制位管理员权限控制位4MB4MB分页方式的地址转换分页方式的地址转换CR3控制寄存器,指向页表控制寄存器,指向页表本本 章章 小小 结结n存储器的分类存储器的分类n多级存储体系结构多级存储体系结构cachecache、主

119、存和外存、主存和外存n主存储器的技术指标主存储器的技术指标存储容量、存取时间、存储周期、存储容量、存取时间、存储周期、存储器带宽存储器带宽n半导体随机存取存储器半导体随机存取存储器nSRAMSRAM和和DRAMDRAM的工作原理的工作原理n存储器容量的扩充存储器容量的扩充字长位数和字存储容量扩展字长位数和字存储容量扩展n只读存储器只读存储器MROMMROM、PROMPROM、EPROMEPROM、EEPROMEEPROM、FLASHFLASHn并行存储器并行存储器双端口和多模块交叉存储器双端口和多模块交叉存储器n高速缓冲存储器高速缓冲存储器n程序访问的局部性、程序访问的局部性、CacheCac

120、he的基本工作原理、和主存之间的的基本工作原理、和主存之间的映射方式、映射方式、CacheCache中主存块的替换算法、中主存块的替换算法、CacheCache写策略写策略本本 章章 小小 结结n虚拟存储器的基本概念虚拟存储器的基本概念n实地址、虚地址、地址变换等实地址、虚地址、地址变换等n虚存的访问过程虚存的访问过程nCacheCache与虚存的异同与虚存的异同n虚存机制要解决的关键问题虚存机制要解决的关键问题n页式虚拟存储器页式虚拟存储器nTLB(TLB(快表快表) )n段式虚拟存储器段式虚拟存储器n段页式虚拟存储器段页式虚拟存储器n虚存的替换算法虚存的替换算法课后作业课后作业1 1、2 2、3 3、7 7、8 8、9 9、13131616、1818、1919、2222、2424

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号