微机原理课件存储管理和高速缓存技术_第1页
微机原理课件存储管理和高速缓存技术_第2页
微机原理课件存储管理和高速缓存技术_第3页
微机原理课件存储管理和高速缓存技术_第4页
微机原理课件存储管理和高速缓存技术_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

1、第4章 存储器、存储管理和高速缓存技术4.1 存储器和存储器件 4.1.1 存储器的分类 存储器根据用途和特点可以分为两大类: (1) 内部存储器,简称为内存或主存 快速存取 容量受限制 (2) 外部存储器,简称为外存容量大速度慢 半导体存储器的分类 双极型RAM 随机存储器(RAM) SRAM MOS型RAM DRAM PROM 只读存储器(ROM) EPROM EEPROM主存储器4.1 存储器和存储器件4.1.2 微型计算机内存的行列结构字节为基本单位常用单位有KB、MB、GB和TB1KB1 024B1MB1 024KB1GB1 024MB1TB1 024GB32行32列矩阵和外部的连接

2、 4.1 存储器和存储器件4.1 存储器和存储器件4.1.3 选择存储器件的考虑因素 易失性 只读性 存储容量 速度 功耗 4.1.4 随机存取存储器RAM 主要特点:既可读又可写 分类:RAM按其结构和工作原理分为:静态RAM即SRAM动态RAM即DRAM SRAM和DRAM SRAM速度快不需要刷新片容量低功耗大 DRAM 片容量高需要刷新 刷新的方法DRAM控制器功能: 时序功能 地址处理功能 仲裁功能DRAM控制器的原理图 4.1.5 只读存储器ROM ROM的特点:只许读出不许写入 ROM器件的优点 :结构简单,所以位密度高。具有非易失性,所以可靠性高 ROM的分类根据信息的设置方法

3、,ROM分为5种 :掩膜型ROMMOS型双极型 可编程只读存储器PROM可擦除可编程只读存储器EPROM可用电擦除的可编程只读存储器E2PROM闪烁存储器(flash memory)闪烁存储器的特点:非易失性可靠性高速度大容量擦写灵活性4.2 存储器在系统中的连接4.2.1 存储器和CPU的连接考虑 高速CPU和较低速度存储器之间的速度匹配问题。Tw CPU总线的负载能力问题。 总线驱动器 片选信号和行地址、列地址的产生机制。 片选字选存储器的寻址方法存储器芯片与CPU地址总线连接时,要根据内存的地址分配连接,以实现CPU在某一时刻只能唯一地选中某一内存单元,这称为寻址。要完成寻址功能必须进行

4、两种选择:首先要选择存储器芯片,这称为片选。然后再从该芯片中选择出某一存储单元,这称为字选。 片选字选4.2 存储器在系统中的连接4.2.2 存储器芯片片选信号的构成方法 : 全译码法部分译码法线选法 线选法D0D7CPUA0A9A10A11D0D71KBROM_CEA0A9D0D71KBRAM_CEA0A9特点简单 地址可能重叠 地址不连续D0D7CPUA0A9A11D0D71KBROM_CEA0A9D0D71KBRAM_CEA0A9部分译码法译码器特点地址重叠地址连续全译码法D0D7CPUA0A9A11D0D71KBROM_CEA0A9D0D71KBRAM_CEA0A9译码器A10A12A

5、13A14A15特点地址唯一,不重叠地址连续SRAM的连接举例 图 16Kb8静态RAM模块 存储模块总线驱动器及外围电路数据总线驱动器地址总线驱动器4个芯片的数据端并接低电平,写入高电平,读出4.2.3 DRAM和DRAM控制器的使用举例 动态RAM控制器8203和2164的连接关系64K1b,行地址与列地址共用引脚行地址选通信号列地址选通信号写信号DRAM控制器片选读/写周期开始读:数据有效写:已完成写操作外部刷新请求信号,可从外部控制刷新定时。引入时钟信号4.2.4 存储器的扩充 在微机系统中,需要的存储器容量常常比单个芯片的容量大,所以需要扩充:(1)存储器容量的扩充体现在两方面: 数

6、据宽度的扩充 字节数的扩充 (2)数据宽度扩充和字节数扩充的方法4.2.4 存储器的扩充数据宽度的扩充:当使用的存储器芯片单元数目符合要求,但每单元的位数较少时,需要进行这种扩充。例如,使用 (1K1)扩充1KB存储系统,就需要进行位扩充。 4.2.4 存储器的扩充例:用2012(1k1位)组成1K8位RAM 2012A0 A9D0WRCS2012A0 A9D0WRCS2012A0 A9D0WRCS2012A0 A9D0WRCSD02012A0 A9D0WRCSD02012A0 A9D0WRCS2012A0 A9D0WRCS2012A0 A9D0WRCS2012A0 A9D0WRCSD7D04

7、.2.4 存储器的扩充数据宽度扩充的方法各芯片的数据线分别接到数据总线的各位上各芯片的地址线并接在一起,连到相应的地址总线各位; 各芯片的控制线并接在一起,连到相应的控制线上4.2.4 存储器的扩充练习:用2114(1k4位)组成1K8位RAM 2114A0 A9D0D3WRCS D7D02114A0 A9D0D3WRCS2114A0 A9D0D3WRCS4.2.4 存储器的扩充扩充存储器的字节容量:当使用的存储器芯片位数符合要求,但单元数目较少时,需要进行这种扩充。例如,使用6264(8K*8)扩充24KB存储系统,就需要进行字扩充。 选择以下芯片,将其扩充为24KBD07CEA012R/W

8、D07CEA012R/WD07CEA012R/WD07R/WA0124.2.4 存储器的扩充扩充存储器的字节容量的方法:将各存储芯片片内地址线、数据线、读/写控制线并联,接到相应的总线上;将地址线的高位送地址译码器产生片选信号,接各存储芯片的CS端,以选择芯片。练习:利用以下芯片(4K)扩充到16KBD07CEA011R/WD07CEA011R/WD07CEA011R/WD07CEA011R/WD07R/WA012D07CEA011R/W字位同时扩充的连接:上述两种方式的结合2114A0 A9D0D3CS2114A0 A9D0D3CS2114A0 A9D0D3CS2114A0 A9D0D3CS

9、1数 D0据总线 D7A0A9A10小型存储器设计的一般步骤:(1)根据系统实际装机存储容量,确定存储器在整个存储空间中位置。(2)选择合适的存储芯片。根据系统性能指标要求选择芯片类型(RAM或ROM)与型号。确定芯片数量:若存储容量为MN位,所用芯片容量为LK位,则系统字、位同时扩展需(M/L)(N/K)个芯片。(3)画地址位图。即按系统所提供地址总线对所设计存储空间进行地址编码,分出低位地址线选择片内各单元,高位地址线确定片选择译码逻辑。(4)画出所设计存储器原理图,需要时指明每片地址范围。图中包括地址线连接及译码电路、数据线连接、读/写控制线连接及其控制逻辑电路等。 例:用全译码法设计一

10、个12KB的主存储器系统。其低8KB为EPROM芯片,选用2片4K8的2732A芯片。高4KB为SRAM芯片,选用两片2K8位的6116芯片。主存储器系统的地址范围为0000H2FFFH。系统提供16为地址线、8根数据线。系统需要2片2732,2片6116。2732有12条地址线,6116有11条地址线,因此除了使用74LS138外,还需要一些辅助电路来形成片选信号。 根据题意,各存储器芯片的地址范围如下:2732(1):0000H0FFFH2732(2):1000H1FFFH6116(1):2000H27FFH6116(2):2800H2FFFH 画地址位图,以获得译码关系和每片地址范围。画

11、连接图_CED0D72732AA0A11_OED0D72732A_CEA0A11_OED0D7CPUA0A11A12A13A14A15_MREQ_RD_WRD0D76116_CEA0A10_OE_ _WED0D76116_CEA0A10_OE_ _WEVCCA11_G2B_G2ACBA_Y2_Y1_Y0G1111在逻辑上验证所设计的连接线是正确的:首先应保证,当执行读/写指定地址范围内的内存单元的操作时,确实能选中该芯片和该单元。 其次,应保证当没有执行读/写指定地址范围内的内存单元的操作时,特别是此时访问的地址在系统中确实对应了某个物理器件,确实不会选中该芯片和该单元。 完成该图中地址线、数

12、据线和控制线的连接,要求EPROM的地址从1000H开始,RAM的存储空间与EPROM的存储空间连续,EPROM为低地址,RAM为高地址。扩充后RAM的地址范围是多少?EPROM的地址范围是多少?扩展的存储空间共有多少个字节?CBA4.3 存储器的体系结构 4.3.1 层次化的存储器体系结构 1 层次化总体结构 层次化:把各种速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个存储空间。层次化的优点:解决了容量、速度与价格之间的矛盾。存储器的层次化总体结构 价格高低容量小大速度快慢内存分为:基本内存区(conventional memory)高端内存区(uppe

13、r memory)扩充内存区(expanded memory)扩展内存区(extended memory)2 内存的分区结构 2 内存的分区结构 内存分为:1.基本内存区(conventional memory):基本内存区主要供DOS操作系统使用640K2 内存的分区结构 内存分为:2.高端内存区(upper memory):高端内存区留给系统ROM和外部设备的适配卡缓冲区使用384K2 内存的分区结构 内存分为:3.扩充内存区:扩充内存区早先是在16位微型计算机系统中为了扩大内存空间而采用的技术,扩充内存区通过在总线槽上插内存扩充卡来扩大内存空间,最大扩充容量为32MB。扩充内存实际上是C

14、PU直接寻址范围以外的物理存储器,对于16位CPU来说,直接寻址的内存空间为1MB,1MB之外的内存区即为扩充内存。扩充内存管理软件EMM2 内存的分区结构 内存分为:4.扩展内存区(extended memory):扩展内存是32位微型计算机系统中才有的内存区,这是指1MB以上,但不是通过内存扩充卡映射来获得的内存空间,扩展内存在32位CPU的寻址范围内,其大小随具体系统的内存配置而定。 4.3.2 计算机系统的内存组织1 16位微机系统的内存组织 8086用20位地址总线寻址1MB存储空间,由两个存储体组成: 奇地址存储体偶地址存储体16位CPU对存储器的访问分为:按字节访问按字访问16位

15、微机系统的内存组织 2. 32位微机系统的内存组织 4.4 Pentium的虚拟存储机制和片内两级存储管理对多任务操作系统的支持从硬件上为任务之间的切换提供了良好的条件支持容量极大的虚拟存储器,并且,为了管理如此大的存储空间,采用片内两级存储管理虚拟存储技术虚拟存储技术虚拟:相对于实际的、物理的存储而言的物理存储器由地址总线直接访问的存储空间(32位,4G;16位,1M)单元地址称为物理地址虚拟存储器程序使用的逻辑存储空间可以比物理存储器大得多单元地址称为虚拟地址(逻辑地址)由存储器管理软件在主存和辅存基础上建立的一种存储体系Pentium只有在保护模式下才支持虚拟存储器及其工作原理寄存器Ca

16、che主存辅存CPU主存辅存高速缓存寄存器虚拟存储器及其工作原理Cache存储器主要解决存储器的速度问题。Cache是一种采用和CPU工艺相类似的半导体器件构成的存储装置,其速度可与CPU相匹配,但容量较小,只能存放一小段程序和数据。程序局部性原理:在一定时间内, CPU只是对主存局部地址区域连续存放的指令和数据进行访问。因此可以在CPU和主存之间增加一层高速缓冲存储器Cache,以解决CPU与主存之间的速度不匹配问题。硬件电路实现。虚拟存储器及其工作原理Cache存储器结构提高主存速度虚拟存储器及其工作原理虚拟存储器用户对内存存储空间的需求不断扩大,用户程序占用内存越来越大。解决办法:扩大主

17、存:造价高、空间利用率低。虚拟存储器:主存+外存。虚拟存储器是由主存储器、辅助存储器、辅助硬件和操作系统管理软件组成的一种存储体系。主要解决存储器的容量问题;速度接近于主存,单位造价接近于辅存,性价比高。虚拟存储器及其工作原理虚拟存储器结构增大主存容量程序局部性原理在一段时间内一个程序的执行往往呈现出高度的局部性时间局部性空间局部性段式虚拟存储和页式虚拟存储按照对主存的划分段式虚拟存储每段的长度不是固定的每个段都是受到保护的独立的空间页式虚拟存储一个系统中的所有页面大小固定(常是4KB)页面的起点和终点也固定段式虚拟存储和页式虚拟存储分段提供了隔绝各个代码、数据和堆栈区域的机制,因此多个程序(

18、或任务)可以运行在同一个处理器上而不会互相干扰。分页机制为传统需求页、虚拟内存系统提供了实现机制。其中虚拟内存系统用于实现程序代码按要求被映射到物理内存中。分页机制当然也能用于提供多任务之间的隔离措施 Pentium中的三类地址逻辑地址程序员所看到的地址(虚拟地址)。特点这是程序员编写的源程序中使用的地址完整的逻辑地址一共48位逻辑地址中的选择子对应于一个段基址线性地址分段部件把包含选择子和偏移量的逻辑地址转换为32位线性地址。特点线性地址是由2个32位量相加而成的段基址由段描述苻得到线性地址是分为3个字段来体现其功能Pentium中的三类地址物理地址和芯片上的地址信号相对应为每个存储单元在存

19、储体中指定唯一的地址分页部件将线性地址转换为物理地址如果分页部件处于禁止状态,线性地址就是物理地址转换时间几乎为0分段存储管理分段存储管理的基本思想一个程序由多个模块组成;一个复杂的大程序总可以分解成多个在逻辑上相对独立的模块,模块间的界面和调用关系是可以清楚定义的;主程序、子程序、数组等。把主存按段分配的存储管理方式就称为段式管理。各程序段要求占据相对独立的内存区间;一个程序拥有多个段,不同程序占据不完全相同的几个段。分段存储管理工作过程分段管理段描述符把有关段的信息,即:段基址、界限、访问属性全部存放在一个称为段描述符的数据结构中并把系统中所有的描述符编成表,以便硬件查找和识别三种描述符表

20、GDT、LDT、IDT使用描述符表带来的优点可大大扩展存储空间(存储空间取决于描述符数量和每个描述符能表示的段长度)可实现虚拟存储(描述符属性位指示对应段是否在内存或磁盘,在磁盘及时调入内存)可实现多任务隔离(除与系统有关的操作访问GDT,其余的只能访问LDT,每个任务有独立空间,就像每个任务独享CPU)保护模式下的存储器指针及段选择符格式保护模式下的存储器指针及段选择符格式索引INDEX 13位213=8192TI表示使用全局描述符表还是局部描述符表RPL:请求特权级字段共可使用213*2=16384个描述符,即对应16384个存储段每个段容量最大可达232=4GBPentium一个任务可访

21、问的虚拟地址空间213*2*232=246=64TB段描述符32位的段基址在物理空间的开始位置段类型S0为系统段(TSS、LDT、各种门),1为非系统段20位的段界限段的长度3位的段属性E、ED/C、W/R段描述符粒度G1B vs. 4KB存在位P特权级DPL保护访问位A可提供统计信息两类段系统段S为0表示是系统段LDT、TSS、各种门非系统段S为1表示是非系统段数据段、代码段描述符表三类GDTLDTIDT每个描述符表最多可容纳213个描述符GDT中的第一个(DI0)为空描述符IDT最多只对应256个描述符描述符表GDT含有可供系统中所有任务使用的段描述符每个LDT也看成一个特殊的段(系统段)

22、GDT中还包含各个LDT对应的描述符LDT只包含与某一任务相关的各个段的描述符逻辑地址转换为线性地址88逻辑地址转换为线性地址Pentium为每个段寄存器各设置了一个64位的段描述符寄存器(程序员不可访问)它是高速缓冲存储器保存着相应段选择子所对应的段描述符每次装入段选择子时,段描述符也一起装入分页管理分页是虚拟存储器多任务操作系统另一种存储器管理方法。段的长度是可变的,而页的长度是固定的,比如每页4KB。分页方法将程序分成若干个大小相同的页,各页与程序的逻辑结构没有直接的关系。分页存储器的这种固定大小页有一个缺点,就是存储管理程序每次分配最少是一个页(即使它们并不全用)。一页中未用的存储器区

23、域称为碎片,碎片导致存储器使用效率降低,但是分页大大简化了存储管理程序的实现。Pentium微处理器采用二级页表方法对页面进行管理,第1级页表称作页目录,页目录中的页目录项指明第2级页表中各页表的基址。 页目录与页表 1页目录基地址寄存器页目录存储在内存中,并通过页目录基地址寄存器CR3来访问。控制寄存器CR3保存着页目录的基地址,该基地址起始于任意4KB的边界。CR2是页故障线性地址寄存器,它保存着检测到的最后引起故障的32位线性地址。页目录与页表 2页目录页目录由页目录项组成,页目录项包含下一级页表的基址和有关页表的信息。Pentium微处理器中,页目录最多包含1024个页目录项,每个页目

24、录项为4个字节,所以,页目录自身占用一个4KB的页面。32位线性地址的最高10位(A31-A22)是页目录的索引,用于在页目录中查找不同的页目录项,而页目录项中保存着下一级所对应的页表的基地址。页目录与页表 3页表页表由页表项组成,页表项包含页面的基址和有关页面的信息。Pentium微处理器中,页表最多包含1024个页表项,每个页表项为4个字节,所以,页表自身也占用一个4KB的页面。32位线性地址的10位(A21-A12)是页表的索引,用于在页表中查找不同的页表项,而页表项中保存着所对应的页面的基地址,即页面的起始地址。 分页管理线性地址转换位物理地址第一步是查询CR3第二步是将线性地址的高1

25、0位作为页组项号第三步是查询相应页组目录对应的页表线性地址转换位物理地址例4MB分页转换机制示意图 转换检测缓冲器TLB分页机制中的两种表放在存储器中速度?高速缓存(表长,代价大)Translate lookaside buffer(小型高速缓存)Pentium为数据Cache和指令Cache分别配置了各自独立的TLB每个TLB中存放32个最近经常使用的页表项,通过操作系统跟踪来控制这些项的保持和更新转换检测缓冲器TLB分页部件得到32位线性地址时先通过其高20位与TLB中的32项比较否则呢TLB的工作原理4.5 高档微机系统中的高速缓存技术Cache概述Cache的组织方式Cache的数据更

26、新方法Cache控制器82385Pentium的两级Cache组织影响Cache性能的因素Cache概述矛盾大容量、高速度CPU速度高,DRAM速度慢,SRAM价格高。技术在主存和高速CPU之间设置一个小容量、高速度的SRAM存放CPU正在使用的代码和数据CPU访问存储器主要体现在对SRAM的存取可以不加等待状态而保持高速操作Cache概述Cache系统主存保存数据,Cache保存主存副本依据区域性定律(principle of locality)时间区域性 空间区域性Cache的组织方式Cache系统中主存总是以区块为单位映象到Cache32位微机系统中,区块长度通常为4字节三种组织方式全相

27、联方式主存的一个区块可以映象到Cache的任何一个地方直接映像方式主存的一个区块只能映象到Cache的一个对应的地方Cache的组织方式(续)三种组织方式组相联方式将Cache分为均等容量的几路,每一路又含许多组,各路中组的数量和编号相同,每一组又含1个或多个区块通过约定的机制,主存的一个区块只能映象到Cache的指定组号和指定块号的区块,但可以是不同路其实是多路的直接映象方式Cache的访问过程与组织方式密切相关Cache的三种组织方式0 12全相联Cache的例子Cache:128个区块直接映像Cache的例子Cache:64KB,16K个区块主存:16MB,256个64K的空间组相联Ca

28、che的例子Cache的数据更新方法两个问题数据丢失: Cache 数据更新,主存未更新数据过时:主存更新,某个Cache 数据未更新防止数据丢失的一致性问题通写式: CPU写到Cache, Cache立即写回主存。缓冲通写式:主存和Cache间加缓冲器。回写式: Cache每一个区块标记设置更新位, CPU写到Cache ,未更新主存,则标志置1. CPU写到Cache首先检查更新位,为0可写入。否则:先把Cache现有内容写回主存,再对Cache写入。 Cache的数据更新方法防止数据过时的一致性问题总线监视法:Cache控制器随时检测地址总线如其它部件写入主存, Cache控制器立即将对

29、应区块标为无效.硬件监视法:外加硬件电路, Cache本身能观察主存中映射区块的所有存取操作.(1:所有部件存取用一个Cache,2:每个部件一个Cache,一个Cache写,数据写入主存也写入其它Cache(广播式))局部禁止高速缓存法:共享区内容无法取到cache.影响命中率的因素Cache的组织方式Cache的容量Cache和主存之间的数据一致性运行的程序本身Cache控制器82385Cache子系统CacheCache控制器Cache控制器功能拦截CPU的每次访存操作检查CPU所需要的信息是否已在Cache中若未命中,再访问主存Cache控制器8238582385对Cache系统的管理Cache和主存的映像关系处理未命中Cache时的处理Cache的数据更新通过片内的Cache目录使外部32KB的Cache和4GB的主存之间实现映象两种映象方式

温馨提示

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

评论

0/150

提交评论