教学课件第5章存储系统

上传人:壹****1 文档编号:568833655 上传时间:2024-07-27 格式:PPT 页数:75 大小:459.50KB
返回 下载 相关 举报
教学课件第5章存储系统_第1页
第1页 / 共75页
教学课件第5章存储系统_第2页
第2页 / 共75页
教学课件第5章存储系统_第3页
第3页 / 共75页
教学课件第5章存储系统_第4页
第4页 / 共75页
教学课件第5章存储系统_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《教学课件第5章存储系统》由会员分享,可在线阅读,更多相关《教学课件第5章存储系统(75页珍藏版)》请在金锄头文库上搜索。

1、第第5 5章章存储系统存储系统1 1本章主要内容 微型机的存储系统、分类及其特点 半导体存储芯片的外部特性及其与系统 的连接 存储器扩展技术 高速缓存2 25.1 5.1 概概 述述内容:微型机的存储系统半导体存储器的基本概念存储器的分类及其特点两类半导体存储器的主要区别3 3微型机的存储系统微型机的存储系统将两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件或软硬件相结合的方法组织起来 这样就构成了计算机的存储系统。系统的存储速度接近最快的存储器,容量接近最大的存储器。4 4微型机的存储系统微型机的存储系统Cache存储系统存储系统解决速度问题解决速度问题解决速度问题解决速度问题虚拟

2、存储系统虚拟存储系统解决容量问题解决容量问题解决容量问题解决容量问题高速缓冲存储器高速缓冲存储器主存储器主存储器主存储器主存储器磁盘存储器磁盘存储器5 5存储器的层次结构l l微机拥有不同类型的存储部件微机拥有不同类型的存储部件l l由上至下容量越来越大,但速度越来越慢由上至下容量越来越大,但速度越来越慢寄存器堆寄存器堆高速缓存高速缓存主存储器主存储器联机外存储器联机外存储器脱机外存储器脱机外存储器快慢小大容量速度CPU内核内核6 6两大类内存、外存l l内存内存存放当前运行的程序和数据。存放当前运行的程序和数据。 特点特点特点特点:快,容量小,随机存取,快,容量小,随机存取,快,容量小,随机

3、存取,快,容量小,随机存取,CPUCPU可直接访问可直接访问可直接访问可直接访问。 通常由通常由通常由通常由半导体存储器半导体存储器半导体存储器半导体存储器构成构成构成构成 RAMRAM、ROMROMl l外存外存存放非当前使用的程序和数据。存放非当前使用的程序和数据。 特点特点特点特点:慢,容量大,顺序存取慢,容量大,顺序存取慢,容量大,顺序存取慢,容量大,顺序存取/ /块存取块存取块存取块存取。需调入内存后需调入内存后需调入内存后需调入内存后CPUCPU才能访问才能访问才能访问才能访问。 通常由通常由通常由通常由磁、光存储器磁、光存储器磁、光存储器磁、光存储器构成,也可以由半导体存储器构成

4、构成,也可以由半导体存储器构成构成,也可以由半导体存储器构成构成,也可以由半导体存储器构成 磁盘、磁带磁盘、磁带磁盘、磁带磁盘、磁带、CD-ROMCD-ROM、DVD-ROMDVD-ROM、固态盘固态盘固态盘固态盘7 7半导体存储器 由能够表示二进制数“0”和“1”的、具有记忆功能的一些半导体器件组成。如触发器、MOS管的栅极电容等。能存放一位二进制数的器件称为一个存储元。若干存储元构成一个存储单元。8 8内存储器的分类内存储器随机存取存储器(随机存取存储器(RAM)Random Access Memory只读存储器(只读存储器(ROM)Read Only Memory9 9随机存取存储器(R

5、AM)RAM静态存储器(静态存储器(SRAM)Static RAM动态存储器(动态存储器(DRAM)Dynamic RAM1010只读存储器(ROM)只读存储器掩模掩模ROM一次性可写一次性可写ROMEPROMEEPROM1111存储器的主要技术指标存储容量:存储单元个数存储单元个数MM每单元位数每单元位数N N存取时间:从启动读从启动读( (写写) )操作到操作完成的时间操作到操作完成的时间存取周期:两次独立的存储器操作所需间隔的最小时间两次独立的存储器操作所需间隔的最小时间平均故障间隔时间MTBFMTBF(可靠性)功耗:动态功耗、静态功耗12125.2 随机存取存储器要求掌握:SRAM与D

6、RAM的主要特点几种常用存储器芯片及其与系统的连接存储器扩展技术1313一、静态存储器SRAM特点:用双稳态触发器存储信息。用双稳态触发器存储信息。速度快(速度快(5ns5ns),不需刷新,外围电路比较简单,),不需刷新,外围电路比较简单,但集成度低(存储容量小,约但集成度低(存储容量小,约1Mbit/1Mbit/片),功耗大。片),功耗大。在在PCPC机中,机中,SRAMSRAM被广泛地用作高速缓冲存储器被广泛地用作高速缓冲存储器CacheCache。对容量为对容量为M*NM*N的的SRAMSRAM芯片,其地址线数芯片,其地址线数= =2 2MM;数据线数数据线数=N=N。反之,若。反之,若

7、SRAMSRAM芯片的地址线数为芯片的地址线数为K K,则可以推断其单元数为,则可以推断其单元数为2 2K K个。个。 1414典型SRAM芯片CMOS RAM芯片6264(8K*8): 主要引脚功能工作时序与系统的连接使用1515SRAM 6264芯片6264外部引线图逻辑符号:6264D7-D0A12-A0OEWECS1CS216166264芯片的主要引线地址线: A0A12数据线: D0 D7输出允许信号:OE写允许信号: WE选片信号: CS1、CS217176264的工作过程读操作写操作 写操作的工作时序写操作的工作时序18186264芯片与系统的连接D0D7A0A12WEOECS1

8、CS2A0A12MEMWMEMR译码译码电路电路高位地址信号D0D7 1919译码电路将输入的一组二进制编码变换为一个特定的控制信号,即: 将输入的一组高位地址信号通过变换,产生一个有效的控制信号,用于选中选中某一个存储器芯片,从而确定该存储器芯片在内存中的地址范围。2020全地址译码用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址。存储器存储器芯片芯片译译码码器器低位地址高位地址全部地址片选信号2121全地址译码例6264芯片的地址范围:F0000HF1FFFH11110000000 11110001111A19A18A17A16A15A14A13&1#C

9、S1A12A0D7D0高位地址线全部参加译码6264A12-A0D7-D0#OE#WE2222部分地址译码用部分高位地址部分高位地址信号(而不是全部)作为译码信号,使得被选中得存储器芯片占有几组不同的地址范围。下例使用高5位地址作为译码信号,从而使被选中芯片的每个单元都占有两个地址,即这两个地址都指向同一个单元。2323部分地址译码例同一物理存储器占用两组地址: F0000HF1FFFH B0000HB1FFFH A A1818不参与译码不参与译码不参与译码不参与译码A19A17A16A15A14A13&1到6264CS12424应用举例将SRAM 6264芯片与系统连接,使其地址范围为:3

10、380008000H39FFFHH39FFFH和和78000H79FFFH78000H79FFFH。选择使用74LS138译码器构成译码电路 Y0# G1 Y1#G2A Y2#G2 B Y3#Y4#A Y5#B Y6#C Y7#片选信号输出译码允许信号地址信号(接到不同的存储体上)74LS138逻辑图:252574LS138的真值表:(注意:输出低电平有效)可以看出,当译码允许信号有效时,Yi是输入A、B、C的函数,即 Y=f(A,B,C)1 11 11 11 11 11 11 11 1X X X X X X 其其 他他 值值0 01 11 11 11 11 11 11 11 1 1 1 1

11、1 1 0 01 0 01 10 01 11 11 11 11 11 11 1 0 1 1 0 1 0 01 0 01 11 10 01 11 11 11 11 11 0 1 1 0 1 1 0 01 0 01 11 11 10 01 11 11 11 11 0 0 1 0 0 1 0 01 0 01 11 11 11 10 01 11 11 10 1 1 0 1 1 1 0 01 0 01 11 11 11 11 10 01 11 10 1 0 0 1 0 1 0 01 0 01 11 11 11 11 11 10 01 10 0 1 0 0 1 1 0 01 0 01 11 11 11 1

12、1 11 11 10 00 0 0 0 0 0 1 0 01 0 0Y7Y7Y6Y6Y5Y5Y4Y4Y3Y3Y2Y2Y1Y1Y0Y0C B AC B AG G1 1 G G2A2A G G2B2B2626应用举例(续):D0D7A0A12WEOECS1CS2A0A12MEMWMEMRD0D7G1G2AG2BCBA&A19A14A13A17A16A15+5VY0下图中A18不参与译码,故6264的地址范围为:3 380008000H39FFFHH39FFFH78000H79FFFH 78000H79FFFH 62642727二、动态随机存储器DRAM特点:特点: DRAMDRAM是靠是靠MOSM

13、OS电路中的栅极电容来存储信息的,由电路中的栅极电容来存储信息的,由于电容上的电荷会逐渐泄漏,需要定时充电以维持存于电容上的电荷会逐渐泄漏,需要定时充电以维持存储内容不丢失(称为储内容不丢失(称为动态刷新动态刷新动态刷新动态刷新),所以动态),所以动态RAMRAM需要需要设置设置刷新刷新刷新刷新电路,相应外围电路就较为复杂。电路,相应外围电路就较为复杂。 刷新定时间隔一般为几微秒几毫秒刷新定时间隔一般为几微秒几毫秒 DRAMDRAM的特点是集成度高(存储容量大,可达的特点是集成度高(存储容量大,可达1Gbit/1Gbit/片片以上),功耗低,但速度慢(以上),功耗低,但速度慢(10ns10ns

14、左右),需要刷新。左右),需要刷新。 DRAMDRAM在微机中应用非常广泛,如微机中的内存条(主在微机中应用非常广泛,如微机中的内存条(主存)、显卡上的显示存储器几乎都是用存)、显卡上的显示存储器几乎都是用DRAMDRAM制造的。制造的。2828常见常见DRAMDRAM的种类:的种类: SDRAMSDRAM(Synchronous DRAMSynchronous DRAM)它在它在1 1个个CPUCPU时钟周时钟周期内可完成数据的访问和刷新,即可与期内可完成数据的访问和刷新,即可与CPUCPU的时钟同步工作。的时钟同步工作。SDRAMSDRAM的工作频率目前最大可达的工作频率目前最大可达150

15、MHz150MHz,存取时间约为,存取时间约为5 510ns10ns,最大数据率为,最大数据率为150MB/s150MB/s,是当前微机中流行的标准内存类,是当前微机中流行的标准内存类型。型。 RDRAMRDRAM(Rambus DRAMRambus DRAM)是由是由RambusRambus公司所开发公司所开发的高速的高速DRAMDRAM。其最大数据率可达。其最大数据率可达1.6GB/s1.6GB/s。 DDR DRAMDDR DRAM(Double Data Rate DRAMDouble Data Rate DRAM)是对是对SDRAMSDRAM的改进,它在时钟的上升沿和下降沿都可以传送

16、数据,其的改进,它在时钟的上升沿和下降沿都可以传送数据,其数据率可达数据率可达200-800 MB/s200-800 MB/s。主要应用在主板和高速显示卡上。主要应用在主板和高速显示卡上。RAMRAM的的3 3个特性:个特性:1 1)可读可写,非破坏性读出,写入时覆盖原内容。)可读可写,非破坏性读出,写入时覆盖原内容。2 2)随机存取,存取任一单元所需的时间相同。)随机存取,存取任一单元所需的时间相同。3 3)易失性(或挥发性)。当断电后,存储器中的内容立)易失性(或挥发性)。当断电后,存储器中的内容立即消失。即消失。2929典型DRAM芯片2164A2164A:64K1采用行地址行地址和列地

17、址列地址来确定一个单元;行列地址分时分时传送, 共用一组地址线;地址线的数量仅 为同等容量SRAM 芯片的一半。行地址10001 0 0 0列地址3030主要引线RASRAS:行地址选通信号,用于锁存行地址;行地址选通信号,用于锁存行地址;CASCAS:列地址选通信号。列地址选通信号。 地址总线上先送上行地址,后送上列地址,它地址总线上先送上行地址,后送上列地址,它们分别在们分别在RASRAS和和CASCAS有效期间被锁存在地址锁存有效期间被锁存在地址锁存器中。器中。 D DININ: 数据输入数据输入D DOUTOUT:数据输出数据输出WE=0 数据写入数据写入WE=1 数据读出数据读出WE

18、:写允许信号写允许信号3131工作原理三种操作: 数据读出数据读出 数据写入数据写入 刷新刷新 参见工作时序图(教材p208-p209)3232刷新将存放于每位中的信息读出再照原样写入原单元的过程刷新刷新的时序图33332164A在系统中的连接 见教材p210图5-183434三、存储器扩展技术位扩展位扩展扩展每个存储单元的位数扩展每个存储单元的位数字扩展字扩展扩展存储单元的个数扩展存储单元的个数字位扩展字位扩展二者的综合二者的综合用多片存储芯片构成一个需要的内存空间,用多片存储芯片构成一个需要的内存空间,它们在整个内存中占据不同的地址范围,任它们在整个内存中占据不同的地址范围,任一时刻仅有一

19、片(或一组)被选中。一时刻仅有一片(或一组)被选中。3535位扩展存储器的存储容量等于: 单元数每单元的位数当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。字节数字节数字长字长3636位扩展例用8片2164A芯片构成64KB存储器。2164A: 64K x 12164A: 64K x 1,需,需8 8片构成片构成64K x 864K x 8(64KB64KB)LS138A8A192164A2164A2164ADBABD0D1D7A0A7译码输出读写信号A0A19D0D7A0A7A0A73737位扩展方法: 将每片的地址线、控制线并联,数据线分别引出。

20、位扩展特点: 存储器的单元数不变,位数增加。3838字扩展地址空间的扩展。芯片每个单元中的字长满足,但单元数不满足。扩展原则:每个芯片的地址线、数据线、控制线并联,仅片选端分别引出,以实现每个芯片占据不同的地址范围。3939字扩展例用两片64K8位的SRAM芯片构成容量为128KB的存储器4040字位扩展根据内存容量及芯片容量确定所需存储芯片数;进行位扩展以满足字长要求;进行字扩展以满足容量要求。若已有存储芯片的容量为LK,要构成容量为M N的存储器,需要的芯片数为: (M / L) (N / K)4141字位扩展例用用4K1位的芯片组成位的芯片组成16KB的存储器。的存储器。扩成扩成扩成扩成

21、4KB 84KB 8片片片片再扩成再扩成再扩成再扩成16KB 4*8=3216KB 4*8=32片片片片地址线需地址线需14根(根(A0-A13),其中),其中12根根(A0-A11)用于片内寻址,)用于片内寻址,2根(根(A12,A13)用于片选译码。连接图。)用于片选译码。连接图。 注意:以上的例子中所需的地址线数并未从系统整体上考注意:以上的例子中所需的地址线数并未从系统整体上考虑。在实际系统中,总线中的地址线数往往要多于所需的虑。在实际系统中,总线中的地址线数往往要多于所需的地址线数,这时除片内寻址的低位地址线地址线数,这时除片内寻址的低位地址线( (即片内地址线即片内地址线) )外,

22、剩余的高位地址线一般都要用于片选译码。外,剩余的高位地址线一般都要用于片选译码。 42428088系统中存储器的连接使用方法存储器与8088系统总线的连接的要点是:存储器的地址范围?存储器的地址范围?根据要求的地址范围可确定用哪几根地址线进行片根据要求的地址范围可确定用哪几根地址线进行片选,哪几根地址线做片内寻址以及如何进行片选译选,哪几根地址线做片内寻址以及如何进行片选译码。码。系统总线上与存储器有关的信号线有哪些?系统总线上与存储器有关的信号线有哪些?熟悉与存储器有关的总线信号和存储芯片引脚的功熟悉与存储器有关的总线信号和存储芯片引脚的功能。能。译码电路的构成(译码器的连接方法)译码电路的

23、构成(译码器的连接方法)系统地址空间一般比存储芯片的容量大(即总线中系统地址空间一般比存储芯片的容量大(即总线中的地址线数多于存储芯片的地址线数),物理内存的地址线数多于存储芯片的地址线数),物理内存实际只占用系统地址空间的一小块区域。把物理内实际只占用系统地址空间的一小块区域。把物理内存分配到系统地址空间的哪一块区域,取决于如何存分配到系统地址空间的哪一块区域,取决于如何进行地址译码。进行地址译码。434380888088系统中存储器连接涉及到的总线信号包括:系统中存储器连接涉及到的总线信号包括: 地址线地址线A19-A0A19-A0 数据线数据线D7-D0D7-D0 存储器读信号存储器读信

24、号MEMR#MEMR# 存储器写信号存储器写信号MEMW#MEMW#需要考虑的存储芯片引脚需要考虑的存储芯片引脚 地址线地址线A An-1n-1-A-A0 0:接地址总线的:接地址总线的A An-1n-1-A-A0 0 数据线数据线D D7 7-D-D0 0:接数据总线的:接数据总线的D D7 7-D-D0 0 片选信号片选信号CS#(CE#)CS#(CE#) ( (可能有多根可能有多根) ):接地址译码器的片:接地址译码器的片选输出选输出 输出允许输出允许OE#(OE#(有时也称为读出允许有时也称为读出允许) ) :接:接MEMR#MEMR# 写入允许写入允许WE#WE#:接:接MEMW#M

25、EMW#4444*补充:8086的16位存储器接口数据总线为16位,但存储器按字节进行编址用两个用两个8 8位的存储体位的存储体( (BANK)BANK)构成构成1616位位D15-D0D7-D0D15-D8A19-A0译码器控制信号体选信号和读写控制如何产生?如何产生?如何连接如何连接?4545*8086的16位存储器接口读写数据有以下几种情况:读写数据有以下几种情况: 读写从偶数地址开始的读写从偶数地址开始的1616位的数据位的数据 读写从奇数地址开始的读写从奇数地址开始的1616位的数据位的数据 读写从偶数地址开始的读写从偶数地址开始的8 8位的数据位的数据 读写从奇地址开始的读写从奇地

26、址开始的8 8位的数据位的数据80868086读写读写1616位数据的特点:位数据的特点: 读读1616位数据时会读两次,每次位数据时会读两次,每次8 8位。位。读高字节时读高字节时BHE=0BHE=0,A0=1A0=1;读低字节时读低字节时BHE=1BHE=1,A0=0A0=0每次只使用数据线的一半:每次只使用数据线的一半:D15-D8 D15-D8 或或 D7-D0D7-D0 写写1616位数据时一次写入。位数据时一次写入。BHEBHE和和A0A0同时为同时为0 0同时使用全部数据线同时使用全部数据线D15D15D0D04646*8086的16位存储器接口两种译码方法独立的存储体译码器独立

27、的存储体译码器独立的存储体译码器独立的存储体译码器每个存储体用一个译码器;每个存储体用一个译码器;缺点:电路复杂,使用器件多。缺点:电路复杂,使用器件多。独立的存储体写选通独立的存储体写选通独立的存储体写选通独立的存储体写选通译码器共用,但为每个存储体产生独立的写控制信号译码器共用,但为每个存储体产生独立的写控制信号 但无需为每个存储体产生独立的读信号,因为但无需为每个存储体产生独立的读信号,因为80868086每次仅读每次仅读1 1字节。对于字,字节。对于字,80868086会连续读会连续读2 2次。次。电路简单,节省器件。电路简单,节省器件。47471)独立的存储体译码器)独立的存储体译码

28、器D15-D9D8-D0高位存储体(奇数地址)低位存储体(偶数地址)A16-A1A15-A0A15-A0D7-D0D7-D064KB8片64KB8片CS#Y0#Y7#Y0#Y7#CBAA19A18A17CBAA19A18A17CS#G1G2A#G2B#G1G2A#G2B#OE#WE#OE#WE#MEMR#MEMW#BHE#A0VccVcc注注意意这这些些信信号号线线的的连连接接方方法法MEMW#信号同时有效,但只有一个存储体被选中信号同时有效,但只有一个存储体被选中读16位数据时每个体被选中几次?48482)独立的存储体写选通)独立的存储体写选通D15-D9D8-D0高位存储体(奇数地址)低位

29、存储体(偶数地址)A16-A1A15-A0A15-A0D7-D0D7-D064KB8片64KB8片CS#Y0#Y7#CBAA19A18A17CS#G1G2A#G2B#OE#WE#OE#WE#MEMR#BHE#A0VccGNDMEMW#11每个存储体用不同的读控制信号每个存储体用不同的读控制信号读16位数据时每个体被选中几次?49495.3 5.3 只读存储器(只读存储器(ROMROM)掩模掩模ROM一次性可写一次性可写ROM可读写可读写ROM分分 类类EPROM(紫外线擦除)紫外线擦除)EEPROM(电擦除)电擦除)5050一、EPROM特点:可多次编程写入;掉电后内容不丢失;内容的擦除需用紫

30、外线擦除器。5151EPROM 27648K8bit芯片,其引脚与SRAM 6264完全兼容地址信号:A0 0 A1212数据信号:D0 0 D7 7输出信号:OE片选信号:CE编程脉冲输入:PGM52522764的工作方式数据读出数据读出编程写入编程写入擦除擦除标准编程方式标准编程方式快速编程方式快速编程方式编程写入的特点:编程写入的特点:每出现一个编程负脉冲就写入一个字节数据每出现一个编程负脉冲就写入一个字节数据工作方式工作方式5353二、EEPROM( E2PROM )特点:可在线编程写入;掉电后内容不丢失;电可擦除。5454典型E2PROM芯片98C64A8K8bit芯片13根地址线(

31、A0 0 A1212)8位数据线(D0 0 D7 7)输出允许信号(输出允许信号(OEOE)写允许信号(写允许信号(WEWE)选片信号(选片信号(CECE)状态输出端(状态输出端(READY/BUSYREADY/BUSY)5555工作方式数据读出编程写入擦除字节写入:每一次字节写入:每一次BUSY正脉冲写正脉冲写 入一个字节入一个字节自动页写入:每一次自动页写入:每一次BUSY正脉写正脉写 入一页(入一页(1 32字节)字节)字节擦除:一次擦除一个字节字节擦除:一次擦除一个字节片擦除:一次擦除整片片擦除:一次擦除整片5656E2PROM的应用可通过编写程序实现对芯片的读写,但 每写入一个字节都

32、需判断READY/BUSY 端的状态,仅当该端为高电平时才可写 入下一个字节。5757四、闪速E2PROM特点: 通过向内部控制寄存器写入命令的方法来控制芯片的工作方式,而非用引脚的信号来控制芯片的工作。应用 BIOS,便携式闪存硬盘5858工作方式数据读出数据读出编程写入编程写入 擦擦 除除读单元内容读单元内容读内部状态寄存器内容读内部状态寄存器内容读芯片的厂家及器件标记读芯片的厂家及器件标记数据写入,写软件保护数据写入,写软件保护字节擦除,块擦除,片擦除字节擦除,块擦除,片擦除擦除挂起擦除挂起59595.4 5.4 高速缓存(高速缓存(Cache)Cache)了解:Cache的基本概念;基

33、本工作原理;命中率;Cache的分级体系结构60601)为什么需要高速缓存?)为什么需要高速缓存?CPU工作速度与内存工作速度不匹配工作速度与内存工作速度不匹配例如,例如,800MHz800MHz的的PIII CPUPIII CPU的一条指令执行时的一条指令执行时间约为间约为1.25ns1.25ns,而,而133MHz133MHz的的SDRAMSDRAM存取时间存取时间为为7.5ns7.5ns,即,即83%83%的时间的时间CPUCPU都处于等待状态,都处于等待状态,运行效率极低。运行效率极低。解决:CPUCPU插入等待周期插入等待周期降低了运行速度;降低了运行速度;采用高速采用高速RAMRA

34、M成本太高;成本太高;在在CPUCPU和和RAMRAM之间插入高速缓存之间插入高速缓存成本上升成本上升不多、但速度可大幅度提高。不多、但速度可大幅度提高。61612)工作原理)工作原理基于程序执行的两个特征:程序访问的局部性:过程、循环、子程序。程序访问的局部性:过程、循环、子程序。数据存取的局部性:数据相对集中存储。数据存取的局部性:数据相对集中存储。存储器的访问相对集中的特点使得我们可以把频繁访问的指令、数据存放在速度非常高(与CPU速度相当)的SRAM高速缓存CACHE中。需要时就可以快速地取出。6262DBCPUCache控制部件CacheRAMAB送主存地址检索(用主存地址作为关键字

35、,查找CAM)前提:每次访问的主存地址都保留在CAM内。CAMContent Access Memory命中则发出读 Cache命令, 从Cache取数据不命中则发出读RAM命令, 从RAM取数据Cache的工作原理图示6363取指令、数据时先到CACHE中查找:找到(称为命中)找到(称为命中)直接取出使用;直接取出使用;没找到没找到到到RAMRAM中取,并同时存放到中取,并同时存放到CACHECACHE中,以备下次使用。中,以备下次使用。只要命中率相当高,就可以大大提高CPU的运行效率,减少等待。现代计算机中CACHE的命中率都在90%以上。命中率影响系统的平均存取速度 系统的平均存取速度系

36、统的平均存取速度 CacheCache存取速度存取速度 命中率命中率+ +RAMRAM存取速度存取速度 不命中率不命中率6464例如:RAM的存取时间为8ns,CACHE的存取时间为1ns,CACHE的命中率为90%。则存储器整体访问时间由没有CACHE的8ns减少为:1ns90% + 8ns10% = 1.7ns 速度提高了近4倍。在一定的范围内,Cache越大,命中率就越高,但相应成本也相应提高Cache与内存的空间比一般为11286565*Cache系统有三个需要解决的主要问题:主存主存CacheCache地址变换地址变换解决:解决:把把把把CacheCache与主存都分成大小相同的页与

37、主存都分成大小相同的页与主存都分成大小相同的页与主存都分成大小相同的页(若主存容量为若主存容量为2 2n n,CacheCache容量为容量为2 2mm,页的大小为,页的大小为2 2p p(即页内地址有(即页内地址有p p位)位),则主存的页号共有,则主存的页号共有(n-p)(n-p)位,位,CacheCache页号共有页号共有(m-p)(m-p)位)位)这样,主存这样,主存这样,主存这样,主存CacheCache地址变换,就是如何把主存页映射到地址变换,就是如何把主存页映射到地址变换,就是如何把主存页映射到地址变换,就是如何把主存页映射到CacheCache页上页上页上页上(即只映射页号即只

38、映射页号即只映射页号即只映射页号)。)。 全相连映射全相连映射全相连映射全相连映射主存任意页可映射到主存任意页可映射到CacheCache的任意页。的任意页。这需要有一个很大的页号映射表(共有这需要有一个很大的页号映射表(共有2m-p2m-p项),放项),放在在CAMCAM存储器中。昂贵,但冲突小。存储器中。昂贵,但冲突小。 直接映射直接映射直接映射直接映射主存页号主存页号B B与与CacheCache页号页号b b满足关系:满足关系:b=B b=B mod 2m-pmod 2m-p例如:主存例如:主存0 0、4 4、8 8、1212,页映射到页映射到CacheCache的的0 0页,主存页,

39、主存1 1、5 5、9 9、1313,映射到映射到CacheCache的的1 1页,依此类推。页,依此类推。不需要页号映射表,但冲突不需要页号映射表,但冲突概率高。概率高。 组相连映射组相连映射组相连映射组相连映射把页分组,然后结合上面两种方法:把页分组,然后结合上面两种方法:组间直接映射,组内全映射。组间直接映射,组内全映射。6666不命中时如何替换Cache内容有以下几种替换算法:随机替换随机替换随机替换随机替换先进先出先进先出先进先出先进先出FIFOFIFO最近最少使用最近最少使用最近最少使用最近最少使用LRULRU(Least Recently UsedLeast Recently U

40、sed)最久没有使用最久没有使用最久没有使用最久没有使用LFULFU(Least Frequently UsedLeast Frequently Used)Cache与主存的一致性 两种常用的更新算法:写穿式写穿式写穿式写穿式(WTWT,Write ThroughWrite Through)同时更新同时更新回写式回写式回写式回写式(WBWB,Write BackWrite Back)仅当替换时才仅当替换时才更新主存更新主存6767*Cache的读写操作写操作写操作读操作读操作贯穿读出式贯穿读出式旁路读出式旁路读出式写穿式写穿式回写式回写式6868写穿式(Write Through)从CPU发出

41、的写信号送Cache的同时也写入主存。CPUCache主主 存存6969回写式(Write Back)数据一般只写到Cache,当Cache中的数据被再次更新时,才将原来的数据写入主存相应页,并接受新的数据。CPUCache主主 存存更新写入7070贯穿读出式CPUCache主主 存存CPUCPU对主存的所有数据请求都首先送到对主存的所有数据请求都首先送到CacheCache,在在CacheCache中查找。中查找。若若命中,则切命中,则切断断CPUCPU对主存的请求,并将数据送出;如对主存的请求,并将数据送出;如果不命中,则将数据请求传给主存果不命中,则将数据请求传给主存。7171旁路读出式

42、CPU向Cache和主存同时发出数据请求。如果命中,则Cache将数据送给CPU,并同时中断CPU对主存的请求;若不命中,Cache不做任何动作,由CPU直接访问主存。CPUCache主主 存存72723)PC机中的机中的CACHE一般有两级CACHE(有的具有三级)L1 CACHE容量一般为容量一般为8 8KBKB64KB64KBL2 CACHE容量一般为容量一般为128128KBKB2MB2MB 新型CPU一般将这两级CACHE都做在CPU内核中。而且运行速度与CPU内核相同,使CPU的整体性能有了极大的提高。指令Cache和数据Cache各种CPU的Cache配置见教材p229表5-5。7373IBM PC/XT的内存空间分配00000H9FFFFHBFFFFHFFFFFHRAM区 640KB保留区 128KBROM区 256KB7474作业P2445.35.55.75.105.11(注意地址范围是(注意地址范围是(注意地址范围是(注意地址范围是F0000HF0000H F1FFFHF1FFFH)7575

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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