微型计算机系统与接口CH6-1

上传人:宝路 文档编号:47983393 上传时间:2018-07-07 格式:PPT 页数:39 大小:3.45MB
返回 下载 相关 举报
微型计算机系统与接口CH6-1_第1页
第1页 / 共39页
微型计算机系统与接口CH6-1_第2页
第2页 / 共39页
微型计算机系统与接口CH6-1_第3页
第3页 / 共39页
微型计算机系统与接口CH6-1_第4页
第4页 / 共39页
微型计算机系统与接口CH6-1_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《微型计算机系统与接口CH6-1》由会员分享,可在线阅读,更多相关《微型计算机系统与接口CH6-1(39页珍藏版)》请在金锄头文库上搜索。

1、第 6 章 存储器系统和存储管 理n 微计算机的存储器系统n Pentium 的 cache 组织n 存储管理6.1 微计算机的存储器系统u 半导体存储器u 微型计算机的存储器组织u 微型计算机的存储器组织6.1.1 半导体存储器 1、存储器的分类u 只读存储器t掩膜ROMtPROM(Programmable ROM) tEPROM(Erasable Programmable ROM) tEEPROM (Electrically Erasable Programmable ROM) t闪速存储器(Flash Memory) 1、存储器的分类u随机存储器tSRAM(Static RAM) tDR

2、AM(Dynamic RAM) tSDRAM(Synchronous DRAM) tDDR SDRAM(Double Data Rata SDRAM) 2、存储器件的外部逻辑特性以及 与微处理器的接口nEPROM与SRAM芯片的外部逻辑特性2、存储器件的外部逻辑特性以及 与微处理器的接口nEPROM与SRAM芯片的外部逻辑特性2、存储器件的外部逻辑特性以及 与微处理器的接口方式CE#OE#PGM#Vpp (V)Vcc (V)O7O0读出VILVILVIHVcc5.0DOUT 编程VILVIHVIL12.756.25DIN 编程校验VILVILVIH12.756.25DOUT 编程禁止VIHxx

3、12.756.25高阻表6-1 27128的操作方式 2、存储器件的外部逻辑特性以及 与微处理器的接口nEPROM与SRAM芯片的外部逻辑特性2、存储器件的外部逻辑特性以及 与微处理器的接口nEPROM与SRAM芯片的外部逻辑特性表6-2 62256的操作方式CS#OE#WE#方式O7O0读VILVILVIH读DOUT 写VILxVIL写DIN 编程校验VILVIHVIH输出禁止高阻 状态编程禁止VIHxx不选择图6-4 一个具有64KB EPROM和128KB SRAM的8086存储器 系统6.1.2 微型计算机的存储器组织l 寄存器l 高速缓存 ( L1、L2)l 主存储器 DRAMl 磁

4、盘l 光盘、磁带6.1.3微型计算机的存储器组织 1、Cache 原理和 Cache 的映射 2、替换算法u 最近最少使用 LRUu 先进先出 FIFOu 最不经常使用 LFUu 随机替换 3、写策略u写通过(write through)u 回写(write back) 4、Cache 组织 5、数据的一致性MESI协议u修改、互斥、共享、无效6.1.3 Cache基本概念回顾1、Cache 原理和 Cache 的映射l 直接映射l 相联映射l 组相联映射高速缓存技术将高速的小容 量的静态存储器Cache和大容量 的动态主存储器连接在一起, 在Cache当中存放主存中内容的 副本,主存到Cac

5、he形成地址的 影射。处理器可以以最快的速 度直接访问Cache,而可访问的 范围却是价格低廉的大容量的 主存储器空间。 1、Cache 原理和 Cache 的映射u直接映射:t把主存的每块分别映射到某一个固定的Cache行中t Cache行号(余数) = 主存块号 mod Cache行数 重复引用 两个映射 到同一行 中且来自 不同块的 字,命中 率降低!16M字节 4M块64K字节16K行256个主存块对应一个Cache行 1、Cache 原理和 Cache 的映射u相联映射:t允许每个主存块装入Cache的任意一行,主 存块在Cache各行中的存放是无序的。 t标记域是标识主存块唯一标志

6、。检查Cache 行标记的 电路复杂!1、Cache 原理和 Cache 的映射u组相联映射:直接、相联映射的结合t将Cache分为m个大小相等的组,每组r行 ,主存中共有s个数据块,每s/r个数据块可 以分别装入某一相同行号的m个Cache行中 。t既避免了由于主存块映射固定Cache行引起 的Cache命中率低的不足;又减少了标记位 的长度,降低了比较电路的复杂性。t当m为1时,组相联影射就蜕变为直接映射 ,当r为1时,实际上就是相联映射。直接 映射和相联映射是组相联映射的特例。1、Cache 原理和 Cache 的映射u组相联映射:直接、相联映射的结合3、写策略当某个处理器本地Cache

7、中的字被修改,那么主存和其 他Cache中相关的字都将是无效的。为了保持Cache和 主存储器中数据一致,采取了相应的写策略u写直达(写通过,write through)t 写操作对Cache和主存储器同时进行,从而 保证主存储器数据的有效性。t 缺点是产生大量的写存储器操作,使系统 效率降低。 3、写策略u写回(write back)t写操作只对Cache进行,对写入行设置修改 标志。当某一个数据块要被替换时,只有他 的修改标志被置位时,才将他回写到主存储 器。t在这块数据被替换之前,相应主存储器单元 的数据是过时的。t缺点是,使得部分存储器的数据暂时是无效 的。于是,I/O模块的访问只允许

8、通过Cache 进行,使电路复杂化。 3、写策略u “写直达”方法当中,写主存的开销发生在 每次写Cache时。而“写回”法使写主存的开 销发生在Cache块失效时。实验统计,写回 法与主存的通信量是写直达法的十几分之一 。u实际系统中,通常同时使用这两种写策略, 使它们在不同的情况下互相补充,在修改数 据时保持存储器数据的一致性 。5、数据的一致性MESI协 议 u MESI Cache一致性模型提供了一种跟 踪存储器数据变化的方法,这种方法 保证了一个Cache行数据更新以后,能 够和所有与它的地址有关联的存储单 元保持数据的一致。u MESI协议将数据变化定义为4种状态 :修改(Modi

9、fied)、独占(Exclusive )、共享(Shared)、无效(Invalid)5、数据的一致性MESI协 议 u修改(Modified):由于写Cache命中引起Cache行 数据的更新,该状态提醒Cache子系统去监听系统 总线。当Cache检测到监听命中这一修改行时,必 须将修改行的数据写回存储器;u独占(Exclusive):指出这个Cache独自保存了目 标存储器的副本,且没有任何其它Cache也保存了 这个存储器行的副本,表示该Cache行数据可以更 新u共享(Shared):指出这行数据可能存在于几个 Cache当中,在每个相关的Cache行和存储器行里都 存放了这行数据的

10、副本 ;u无效(Invalid):复位以后的无效状态,指示存储 器这一目标行在Cache中不存在;或目标存储器单 元数据已被其他总线主修改, Cache中的副本是已 过时的数据。6.2 Pentium 的 Cache组织u概述uPentium 内部的数据 Cache 结构uPentium 的数据 Cache 访问和总线 猝发周期6.2.1 概述1、Pentium CPU和存储器2、Pentium Cache 组织原则u Cache 的映射两路组相联u 替换算法最近最少使用 LRUu 写策略WRITE THROUGHWRITR BACKu 数据的一致性MESI 协议6.2.2 Pentium 内

11、部数据 Cache 结构uCache分为0路和1路,每路是4K字节,与主存页面大小 相同。每路各包含128个Cache行,每行32字节;u各有一个128个目录项的目录 。目录项包含20位( 4G/4K=1M页)的标记域、1位校验域和2位状态域 u每当从主存读出一行数据进行Cache行替换时,数据总 是被装在与主存页中行序号相同的Cache行当中。主存页 面地址同时被记录在相同序号的目录项中。u目录有三个可以同步访问的端口。端口包括三个部分, 20位的标记域记录了目标存储器高位地址A31A12(哪 一页);7位的行域记录了目标存储器次7位地址A11A5 (存储器页及Cache中的哪一行);最低2

12、位是双字域, 指示了目标存储器A4A2三位地址,(双字在行中的哪 一排(bank),即cache行中的位置。u有一个128位的LRU标志,每位对应2个序号相同的目录 项。LRU标志位记录了2个同序号行中最近最少使用行所 在路的序号。 6.2.2 Pentium 内部数 据 Cache 结 构6.2.3 Pentium 数据 Cache 访问和猝发的总线猝发的总线 周期周期1、内部Cache 命中(L1 Cache 访问) 2、内部Cache 不命中(请求L2 Cache 访问)3 3、L2 Cache L2 Cache 命中(命中(L2 Cache L2 Cache 访问)访问)4 4、L2

13、Cache L2 Cache 不命中(主存储器访问)不命中(主存储器访问)5 5、U U、V V流水线流水线L2 Cache L2 Cache 命中命中流水线读流水线读MOV AXMOV AX,1056h1056h(U U););MOV EAXMOV EAX,0054h0054h(U U) MOV BXMOV BX,108Ch108Ch(V V););MOV EBXMOV EBX,008Ch008Ch(V V)6.2.3 Pentium 的数据 Cache 访问和猝发的总线 周期1、内部Cache 命中 例:MOV AX,1056h(U)MOV BX,108Ch(V)数据段起始地址 002A0

14、000h当前Cache 目录状态A31A12 002A1 A11A5 02 A4A2 500000000001010100001000001010110A31A12 002A1 A11A5 04 A4A2 3 000000000010101000010000100011002、内部Cache 不命中例:MOV EAX,0054h(U)MOV EBX,008Ch(V)数据段起始地址 00000000h当前Cache 目录状态A31A1200000 A11A5 02 A4A2 500000000000000000000000001010100A31A1200000 A11A5 4 A4A2 3 0

15、00000000000000000000000100011002、内部 Cache 不命中内部Cache 状态3、U-pipe L2 cache 命中 (00000054h00000057h)3、U-pipe L2 cache 命中 (00000054h00000057h) n与Cache控制有关的信号uADS#(address strobe),输入,地址选通信号,指出 当前在总线上出现的地址和总线周期类型定义信号是有 效的。uCACHE#,输出,总线周期定义信号。用来通知外部存 储器,处理器希望以猝发方式执行一个行填充操作。uKEN#(cache ability),Cache能力,输入,确定

16、所读 的目标地址是否是在能够进行Cache操作的地址空间。 KEN#有效,表示该目标地址能够进行高速缓存操作。uBRDY#(burst ready),猝发操作准备好,输入,告诉 CPU L2 Cache或主存储器已经准备好猝发操作。uWB/WT#(write-back/write-through),写回或写直达控 制,输入,用于数据Cache的MESI状态控制。由L2 Cache控制器驱动,当WB/WT#为高,Cache行被置为E 状态,并且指示下一次的写操作执行写回策略;当 WB/WT#为低,Cache行被置为S状态,指示所有对外部 存储器的写操作执行写直达策略。 uPCD(page cache disable) 输出,页面Cache禁止信号3、U-pipe L2 cache 命中 (00000054h00000057h)u读取的顺序是:t5057H、t585FH、t

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

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