第五存储器和高速缓存技术.ppt

上传人:本田雅阁 文档编号:3115751 上传时间:2019-07-12 格式:PPT 页数:136 大小:1.80MB
返回 下载 相关 举报
第五存储器和高速缓存技术.ppt_第1页
第1页 / 共136页
第五存储器和高速缓存技术.ppt_第2页
第2页 / 共136页
第五存储器和高速缓存技术.ppt_第3页
第3页 / 共136页
第五存储器和高速缓存技术.ppt_第4页
第4页 / 共136页
第五存储器和高速缓存技术.ppt_第5页
第5页 / 共136页
点击查看更多>>
资源描述

《第五存储器和高速缓存技术.ppt》由会员分享,可在线阅读,更多相关《第五存储器和高速缓存技术.ppt(136页珍藏版)》请在三一文库上搜索。

1、第五章 存储器和高速缓存技术,5.1 半导体存储器概述 5.2 随机存取存储器 5.3 只读存储器 5.4 半导体存储器与CPU的连接 5. 高档微机中的高速缓存技术,2,5.1 半导体存储器概述,除采用磁、光原理的辅存外,其它存储器主要都是采用半导体存储器 本章介绍采用半导体存储器及其组成主存的方法,3,存储器的逻辑结构示意图,4,高,小,快,存储器三个主要特性的关系,存储器的层次结构,5,1、主存和高速缓存之间的关系,Cache引入: 为解决cpu和主存之间的速度差距,提高整机的运算速度,在cpu和主存之间插入的由高速电子器件组成的容量不大,但速度很高的存储器作为缓冲区。 Cache特点

2、存取速度最快,容量小,存储控制和管理由硬件实现。 Cache工作原理程序访问的局部性 在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。(指令分布的连续性和循环程序及子程序的多次执行)这种对局部的存储器地址频繁访问,而对此范围以外的地址范围甚少的现象就成为程序访问的局部性。 数据分布不如指令明显,但对数组的访问及工作单元的选择可使存储地址相对集中。,6,2、主存与辅存之间的关系,主存:(半导体材料组成) 优:速度较快 缺:容量居中,单位成本高,价格居中。 辅存:(光盘,磁盘) 优:容量大,信息长久保存,单位成本低. 缺:存取速度慢 CPU正在运行的程序和数据存放在主存 暂时

3、不用的程序和数据存放在辅存 辅存只与主存进行数据交换,7,缓存 主存层次和主存 辅存层次,虚拟存储器,虚地址,逻辑地址,实地址,物理地址,主存储器,(速度),(容量),8,选择存储器件的考虑因素,(1)易失性 (2)只读性 (3)位容量 (4)功耗 (5)速度 (6)价格 (7)可靠性,9,5.1.1 半导体存储器的分类,按制造工艺 双极型:速度快、集成度低、功耗大 MOS型:速度慢、集成度高、功耗低 按使用属性 随机存取存储器RAM:可读可写、断电丢失 只读存储器ROM:正常只读、断电不丢失,10,半导体存储器的分类,半导体 存储器,只读存储器 (ROM),随机存取存储器 (RAM),静态R

4、AM(SRAM) 动态RAM(DRAM) 非易失RAM(NVRAM),掩膜式ROM 一次性可编程ROM(PROM) 紫外线擦除可编程ROM(EPROM) 电擦除可编程ROM(EEPROM) 闪烁存储器FLASH ROM(EEPROM),11,1.读写存储器RAM,12,2.只读存储器ROM,掩膜ROM:信息制作在芯片中,不可更改 PROM:允许一次编程,此后不可更改 EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程 EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写 Flash Memory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦

5、除,13,5.1.2 半导体存储器芯片的结构, 存储体 存储器芯片的主要部分,用来存储信息 地址译码电路 根据输入的地址编码来选中芯片内某个特定的存储单元 片选和读写控制逻辑 选中存储芯片,控制读写操作,14, 存储体,每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据 存储容量与地址、数据线个数有关: 芯片的存储容量2MN 存储单元数存储单元的位数 M:芯片的地址线根数 N:芯片的数据线根数,15,存储矩阵,字结构:同一芯片存放 一个字的多位,如8位。 优点是:选中某个单元, 其包含的各位信息可从同一 芯片读出,缺点是芯片外引 线较多,成本高.适合容量小 的静

6、态RAM. 位结构:同一芯片存放多个字的同一位. 优点是芯片的外引线少,缺点是需要多个芯片组和 工作.适合动态RAM 和大容量静态RAM,一个基本单元电路只能存放一位二进制信息,为保存大量信息,存储器中需要将许多基本单元电路按一定的顺序排列成阵列形式,这样的这列称为存储矩阵.排列方式:字结构和位结构.,16,2、地址译码器,功能:接收系统总线传来的地址信号,产生地址译码信号后,选中存储矩阵中的某个或几个基本存储单元. 从结构类型上分类:单译码,双译码 单译码方式适合小容量的存储器 例如:地址线12根 对应4096个状态,需要4096根译码线 双译码方式适合大容量存储器(也称为矩阵译码器) 分X

7、、Y两个方向的译码 例如:地址线12根 X、Y方向各6根,64*64=4096个状态,128根译码线,17, 地址译码电路,单译码结构 双译码结构 双译码可简化芯片设计 主要采用的译码结构,18, 片选和读写控制逻辑,片选端CS*或CE* 有效时,可以对该芯片进行读写操作 输出OE* 控制读操作。有效时,芯片内数据输出 该控制端对应系统的读控制线 写WE* 控制写操作。有效时,数据进入芯片中 该控制端对应系统的写控制线,19,5.2 随机存取存储器,静态RAM SRAM 2114 SRAM 6264,动态RAM DRAM 4116 DRAM 2164,20,5.2.1 静态RAM,SRAM的基

8、本存储单元是触发器电路 每个基本存储单元存储二进制数一位 许多个基本存储单元形成行列存储矩阵 SRAM一般采用“字结构”存储矩阵: 每个存储单元存放多位(4、8、16等) 每个存储单元具有一个地址,21,静态RAM的六管基本存储单元,集成度低,但速度快,价格高,常用做Cache。,T1和T2组成一个双稳态触发器,用于保存数据。T3和T4为负载管。 如A点为数据D,则B点为数据/D。,T1,T2,A,B,T3,T4,+5V,行选择线有效(高电 平)时,A 、B处的数据信息通过门控管T5和T6送至C、D点。,行选择线,列选择线,列选择线有效(高电 平)时,C 、D处的数据信息通过门控管T7和T8送

9、至芯片的数据引脚I/O。,22,(1) 静态 RAM 基本电路,A 触发器非端,A 触发器原端,T1 T4,23,静态RAM的结构,典型的RAM的示意图,24,SRAM芯片2114,存储容量为10244 18个引脚: 10根地址线A9A0 4根数据线I/O4I/O1 片选CS* 读写WE*,25,Intel 6116是CMOS静态RAM芯片,属双列直插式、24引脚封装。它的存储容量为2K8位,其引脚及功能框图如下图所示。,26,Intel 6116,6116芯片内部的存储体是一个由128128 16384个静态存储电路组成的存储矩阵。 A0A10 11根地址线供对其进行行、列地址译码,以便对2

10、11 2048个存储单元进行选址。6116有8根数据输入/输出线I/O0I/O7 ,每条列选择线控制8位。,27,静态 RAM 读 时序,28,twc写周期=地址建立taw+写脉冲宽度tw+写操作恢复。 tDw数据有效时间。DRAM的写周期是先送行数据信号再送地址信号和行选通信号,后送列选通信号。,存储器的写周期,29,静态 RAM (6116) 写 时序,30,SRAM芯片6264,存储容量为8K8 28个引脚: 13根地址线A12A0 8根数据线D7D0 片选CS1*、CS2 读写WE*、OE*,31,5.2.2 动态RAM,DRAM的基本存储单元是单个场效应管及其极间电容 必须配备“读出

11、再生放大电路”进行刷新 每次同时对一行的存储单元进行刷新 每个基本存储单元存储二进制数一位 许多个基本存储单元形成行列存储矩阵 DRAM一般采用“位结构”存储体: 每个存储单元存放一位 需要8个存储芯片构成一个字节单元 每个字节存储单元具有一个地址,32,写入所写数据加到WD上;打开T3对CS充电或放电;,保持断开T3无放电回路CS可信息保存(会缓慢泄漏); 需定时刷新CS中信息,读出在上加正脉冲对CD预充电;打开T2读RD上电压T1导通为1(非破坏性读);,刷新先读出数据、再写入所读数据。,1.3管MOS式动态存储元工作原理:,33,2.单管MOS式动态存储元工作原理:,写入所写数据加到D上

12、, 打开T1对CS充电或放电; 保持断开T1无放电回路信息存 储在CS中(会缓慢泄漏);,读出在D上加正脉冲对CD预充电,打开T1D上电位将变化(CS与CD上电位不等)放大变化可得到信息CS得到充电(破坏性读),用读出数据立即对CS重新写入(称为再生); 刷新步骤与读操作完全相同。,*单管MOS式与3管MOS式存储元的区别: MOS管数只需一个;现代DRAM均采用单管MOS式! 数据线-只有一根; 读操作-读后需立即再生信息(延迟略大); 刷新均需定时(如2ms3.3ms内)对各存储元刷新。,34,在一些实际的DRAM存储芯片中,如16K*1b的动态存储器,为了减少封装引脚数,地址码分两批(每

13、批7位)送入存储器。先送行地址,后送列地址。行地址由行地址选通信号RAS送入行地址锁存器,再通过行地址译码器输出7:128线。列地址由列地址选通信号CAS送入列地址锁存器,再通过列地址译码器进行译码输出7:128线。 在读出时,读出放大器又使相应的存储单元的存储信息自动恢复(重写),所以读出放大器还用作再生放大器。,35,5.2.2.2 DRAM芯片组成示例 *Intel 2116芯片: -单管MOS存储元 参数容量=16K1位;数据引脚=2根(单向DIN/DOUT、共1位数据宽度);地址引脚=14/2=7根(分时复用)。,结构2个64128存储阵列(便于减少译码延迟); 时钟发生器串联(可保

14、证有效的读写时序)。,36,单管动态 RAM 2116 (16K 1位) 外特性,37,DRAM 2116的读周期,存储地址需要分两批传送 行地址选通信号RAS*有效,开始传送行地址 随后,列地址选通信号CAS*有效,传送列地址,CAS*相当于片选信号 读写信号WE*读有效 数据从DOUT引脚输出,38,DRAM 2116的写周期,存储地址需要分两批传送 行地址选通信号RAS*有效,开始传送行地址 随后,列地址选通信号CAS*有效,传送列地址 读写信号WE*写有效 数据从DIN引脚进入存储单元,39,DRAM 2116的刷新,采用“仅行地址有效”方法刷新 行地址选通RAS*有效,传送行地址 列

15、地址选通CAS*无效,没有列地址 芯片内部实现一行存储单元的刷新 没有数据从输入输出 存储系统中所有芯片同时进行刷新 DRAM必须每隔固定时间就刷新,40,DRAM芯片2164,存储容量为64K1 16个引脚: 8根地址线A7A0 1根数据输入线DIN 1根数据输出线DOUT 行地址选通RAS* 列地址选通CAS* 读写控制WE*,41,MOS型SRAM与DRAM芯片比较 *DRAM芯片的优点: DRAM集成度远高于SRAM(DRAM采用3管或单管MOS存储元); DRAM地址引脚减少了一半(采用双地址时序方式时); DRAM功耗是SRAM的1/6(DRAM采用单管MOS存储元时); DRAM

16、成本是SRAM的1/4(需增加辅助电路)。,*DRAM芯片的缺点: DRAM速度比SRAM低(使用动态元件电容); DRAM需配置再生电路,增加了一部分功耗。,*芯片应用: 高速度、小容量MEM常用SRAM芯片构成,如Cache; 大容量MEM常用DRAM芯片构成,如主存。,42,5.3 只读存储器,EPROM EPROM 2716 EPROM 2764,EEPROM EEPROM 2717A EEPROM 2864A,43,5.3.1 半导体只读存储器组成与原理(非易失性),1、基本结构,特点及类型,44,2、一次性可编程存储器PROM,45,5.3.2、只读存储器(Read only Me

17、mory,R0M),1、掩模ROM(MROM) *特征:用户不可修改信息; 存储元状态:用元件有/无表示“1”/“0”; 数据读出:字选线加电压,位线 电压为所选存储元的数据。,46,2、可编程ROM(PROM) *特征:用户可一次性修改信息(电写入); *存储元状态:用二极管/熔丝的通/断表示“1”/“0”;,*数据写入:字线X加电压,若写0 VD=V地熔丝熔断, 若写1 VD=V中熔丝不断; *数据读出:字线X加电压、VD=V中, 用检测VD变化的方法可得数据。,47,3、可擦除可编程ROM(EPROM) *特征:用户可多次修改信息(电写入、光擦除); *存储元状态:用浮置雪崩注入MOS管

18、/叠栅注入MOS管的浮置栅是否带负电荷表示“1”/“0”(以叠栅注入MOS管为例);,*写数据“1”(写入): 如右图,脉冲宽度约50ms;,*数据读出:如右图,读出周期us级。,*写数据“0” (擦除):用紫外线照射 1020分钟(浮置栅上电子获得光子能量 电子穿过SiO2层与基体电荷中和)整个芯片一起擦除;,48,4、电可擦除可编程ROM(E2PROM) *特征:用户可多次修改信息(电写入、电擦除); *存储元状态:用浮栅隧道氧 化层MOS管的浮置栅是否带负电荷 表示“1”/“0”;,*写数据/数据读出: 如下图,写脉冲宽度约10ms,读出周期us级; 擦除精度可为块(一般同一行存储元的G

19、C互连); 因擦/写时间较长、电压较高,故常用做ROM(只读出)。,49,5、快擦写存储器(FLASH) *特征:用户可多次修改信息(电写入、电擦除); *存储元状态与结构:与EPROM类似,氧化层更薄(擦除快);,*数据写入:写入“1”与EPROM相同,脉冲宽度约10us, 写入“0”与E2PROM相同,脉冲宽度约100us; 擦除精度只能为块(一般同一行存储元的GC互连)。,50,EPROM芯片2716,存储容量为2K8 24个引脚: 11根地址线A10A0 8根数据线DO7DO0 片选/编程CE*/PGM 读写OE* 编程电压VPP,51,EPROM芯片2764,存储容量为8K8 28个

20、引脚: 13根地址线A12A0 8根数据线D7D0 片选CE* 编程PGM* 读写OE* 编程电压VPP,52,EPROM芯片27256,53,EEPROM,用加电方法,进行在线(无需拔下,直接在电路中)擦写(擦除和编程一次完成) 有字节擦写、块擦写和整片擦写方法 并行EEPROM:多位同时进行 串行EEPROM:只有一位数据线,54,EEPROM芯片2817A,存储容量为2K8 28个引脚: 11根地址线A10A0 8根数据线I/O7I/O0 片选CE* 读写OE*、WE* 状态输出RDY/BUSY*,55,EEPROM芯片2864A,存储容量为8K8 28个引脚: 13根地址线A12A0

21、8根数据线I/O7I/O0 片选CE* 读写OE*、WE*,56,5.4 半导体存储器与CPU的连接,SRAM、EPROM与CPU的连接 译码方法同样适合I/O端口,57,5.5.1 存储芯片与CPU的连接,存储芯片的数据线 存储芯片的地址线 存储芯片的片选端 存储芯片的读写控制线,58,CPU与存储器的连接时应注意的问题,1CPU总线的带负载能力 2存储器的组织、地址分配与片选问题 3CPU的时序与存储器的存取速度之间的配合,59,59,1CPU总线的负载能力,通常CPU总线的负载能力是一个TTL器件或20个MOS器件。 一般小型系统中,CPU可直接与存储器芯片相连。而在较大系统中,当总线负

22、载数超过限定时应当加接驱动器。 地址线、控制线是单向的,故采用单向驱动器,如74LS244,Intel8282等,而数据线是双向传动的,故采用双向驱动器,如74LS245、Intel8286/8287等。,60,60,2存储器与CPU之间的时序配合,选用存储芯片时,必须考虑它的存取速度和CPU速度的匹配问题,即时序配合。 为了使CPU能与不同速度的存储器相连接,一种常用的方法是使用“等待申请”信号。该方法是在CPU设计时设置一条“等待申请”输入线。 若与CPU连接的存储器速度较慢,使CPU在规定的的读/写周期内不能完成读/写操作,则在CPU执行访问存储器指令时,由等待信号发生器向CPU发出“等

23、待申请”信号,使CPU在正常的读/写周期之外再插入一个或几个等待周期Tw,以便通过改变指令的时钟周期数使系统速度变慢,从而达到与慢速存储器匹配的目的。,61,61,3存储芯片的选用和地址分配,存储芯片类型和芯片型号的选择因素 存放对象 存储容量 存取速度 结构 价格。,62,62,片选控制方法,存储芯片,存储模块,存储体,位扩展:因每个字的位数不够而扩展数据输出线的数目; 字扩展:因总的字数不够而扩展地址输入线的数目,所以也称为地址扩展;,63,1. 存储芯片数据线的处理,若芯片的数据线正好8根: 一次可从芯片中访问到8位数据 全部数据线与系统的8位数据总线相连 若芯片的数据线不足8根: 一次

24、不能从一个芯片中访问到8位数据 利用多个芯片扩充数据位 这个扩充方式简称“位扩充”,64,存储芯片的位扩展:,用64K1bit的芯片扩展实现64KB存储器,进行位扩展时,模块中所有芯片的地址线和控制线互连形成整个模块的地址线和控制线,而各芯片的数据线并列(位线扩展)形成整个模块的数据线(8bit宽度)。,存储器容量的扩展,65,位扩充,2114 (1),A9A0,I/O4I/O1,片选,D3D0,D7D4,A9A0,2114 (2),A9A0,I/O4I/O1,多个位扩充的存储芯片的数据线连接于系统数据总线的不同位数 其它连接都一样 这些芯片应被看作是一个整体 常被称为“芯片组”,进行位扩展时

25、,模块中所有芯片的地址线和控制线互连形成整个模块的地址线和控制线,而各芯片的数据线并列(位线扩展)形成整个模块的数据线(8bit宽度)。,66,66,存储芯片的字扩展:,用8K8bit的芯片扩展实现64KB存储器,进行字扩展时,模块中所有芯片的地址线、控制线和数据线互连形成整个模块的低位地址线、控制线和数据线 , CPU的高位地址线(扩展的字线)被用来译码以形成对各个芯片的选择线 片选线 。,67,2. 存储芯片地址线的连接,芯片的地址线通常应全部与系统的低位地址总线相连 寻址时,这部分地址的译码是在存储芯片内完成的,我们称为“片内译码”,68,片内译码,A9A0,存储芯片,69,3. 存储芯

26、片片选端的译码,存储系统常需利用多个存储芯片扩充容量 也就是扩充了存储器地址范围 进行“地址扩充”,需要利用存储芯片的片选端对多个存储芯片(组)进行寻址 这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现 这种扩充简称为“地址扩充”或“字扩充”,70,地址扩充(字扩充),片选端,D7D0,A19A10,A9A0,译码器,0000000001,0000000000,进行字扩展时,模块中所有芯片的地址线、控制线和数据线互连形成整个模块的低位地址线、控制线和数据线 , CPU的高位地址线(扩展的字线)被用来译码以形成对各个芯片的选择线 片选线 。,71,片选端常有效,A19A15

27、 A14A0 全0全1,D7D0,27256 EPROM,A14A0,令芯片(组)的片选端常有效 不与系统的高位地址线发生联系 芯片(组)总处在被选中的状态 虽简单易行、但无法再进行地址扩充,会出现“地址重复”,72,地址重复,一个存储单元具有多个存储地址的现象 原因:有些高位地址线没有用、可任意使用地址,出现地址重复时,常选取其中既好用、又不冲突的一个“可用地址” 例如:00000H07FFFH 选取的原则:高位地址全为0的地址,高位地址译码才更好,73, 译码和译码器,译码:将某个特定的“编码输入”翻译为唯一“有效输出”的过程 译码电路可以使用门电路组合逻辑 译码电路更多的是采用集成译码器

28、 常用的2:4译码器74LS139 常用的3:8译码器74LS138 常用的4:16译码器74LS154,74,存储地址译码电路 74LS138经常用来作为存储器的译码电路。,74LS138引脚,75,74LS138的真值,76, 全译码,所有的系统地址线均参与对存储单元的译码寻址 包括低位地址线对芯片内各存储单元的译码寻址(片内译码),高位地址线对存储芯片的译码寻址(片选译码) 采用全译码,每个存储单元的地址都是唯一的,不存在地址重复 译码电路可能比较复杂、连线也较多,77,全译码示例,78, 部分译码,只有部分(高位)地址线参与对存储芯片的译码 每个存储单元将对应多个地址(地址重复),需要

29、选取一个可用地址 可简化译码电路的设计 但系统的部分地址空间将被浪费,79,部分译码示例,80, 线选译码,只用少数几根高位地址线进行芯片的译码,且每根负责选中一个芯片(组) 虽构成简单,但地址空间严重浪费 必然会出现地址重复 一个存储地址会对应多个存储单元 多个存储单元共用的存储地址不应使用,81,线选译码示例,注意: A14 A1300的情况不能出现 00000H01FFFH的地址不可使用,82,8086的16位存储器接口,数据总线为16位,但存储器按字节进行编址 用两个8位的存储体(BANK)构成16位,BANK1 奇数地址,BANK0 偶数地址,D15-D0,D7-D0,D15-D8,

30、A19-A0,译码器,控制信号,体选信号 和读写控制,如何产生?,如何连接?,83,8086的16位存储器接口,两种译码方法 独立的存储体译码器 每个存储体用一个译码器; 缺点:电路复杂,使用器件多。 独立的存储体写选通 译码器共用,但为每个存储体产生独立的写控制信号 电路简单,节省器件。,84,1)独立的存储体译码器,D15-D9,D8-D0,高位存储体 (奇数地址),低位存储体 (偶数地址),A16-A1,A15-A0,A15-A0,D7-D0,D7-D0,64KB8片,64KB8片,CS#,Y0# Y7#,Y0# Y7#,C B A,A19 A18 A17,C B A,A19 A18 A

31、17,CS#,G1 G2A# G2B#,G1 G2A# G2B#,OE# WE#,OE# WE#,MEMR# MEMW#,BHE#,A0,Vcc,Vcc,注意这些信号线的连接方法,MEMW#信号同时有效,但只有一个存储体被选中,读16位数据时每个体被选中几次?,85,2)独立的存储体写选通,D15-D9,D8-D0,高位存储体 (奇数地址),低位存储体 (偶数地址),A16-A1,A15-A0,A15-A0,D7-D0,D7-D0,64KB8片,64KB8片,CS#,Y0# Y7#,C B A,A19 A18 A17,CS#,G1 G2A# G2B#,OE# WE#,OE# WE#,MEMR#

32、,BHE#,A0,Vcc GND,MEMW#,1,1,每个存储体用不同的写控制信号,读16位数据时每个体被选中几次?,86,8086读写16位数据的特点: 读16位数据时会读两次,每次8位。 读高字节时BHE=0,A0=1; 读低字节时BHE=1,A0=0 每次只使用数据线的一半:D15-D8 或 D7-D0 写16位数据时一次写入。 BHE和A0同时为0 同时使用全部数据线D15D0,87,5. CPU(8086系列)与存储器的连接举例,( 1)1KB RAM与CPU的连接 (1)计算出所需的芯片数。 (2)构成数据总线所需的位数和系统所需的容量。 (3)控制线,数据线,地址线对应相连。,8

33、8,用10241位的芯片组成1K RAM的方框图,89,用2564位的芯片组成1K RAM的方框图,90,4KB RAM的连接 (1)计算出所需的芯片数 (2)构成数据总线所需的位数和系统所需的容量 (3)控制线,数据线,地址线的连接:有线选方式、局部译码选择方式和全局译码选择方式之分。,91,线选方式地址分布,92,用2114芯片组成4K RAM线选控制译码结构图,93,用2114芯片组成4K RAM局部译码结构图,94,用2114芯片组成4K RAM全局译码结构图,95,例:用EPROM 2716(2K*8)为某8位CPU 设计一个16KB的ROM存储器. (1) 确定芯片组数: 每片27

34、16存储容量为2KB,16KB需要8片 (2) 片内译码: (3) 8个片选信号的译码:用74LS138 (4) CPU的总线与存储器的连接 数据线8条 片上11条地址线直接与CPU的低位地址线连接 控制线:读RD,M,96,97,A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0,0110 0 0 0 0 0 000 0000 0000 (60000H) 111 1111 1111 (607FFH) 0110 0 0 0 0 1 000 0000 0000(60800H) 111 1111 1111 (6

35、0FFFH),分析:,高位地址线状态:A19A18A17A16A15A14 = 0 11 000,片内寻址,片选信号,98,动态RAM在工作过程中总是要求进行刷新的,为了刷新,一般需要专门的刷新电。 Intel 8203就是一个动态RAM控制器。它是专门为了支持2117、2118和2164动态RAM而设计的。2117、2118是16K1的动态RAM,2164是64K1的动态RAM。 8203从功能上可以分为两部分,一个是地址处理部分,一个是时序处理部分。 地址处理部分用来处理动态RAM正常读/写时的地址信号和刷新过程中的地址信号。正常读/写时,地址信号,99,图6116的连接,100,片选端译

36、码小结,存储芯片的片选控制端可以被看作是一根最高位地址线 在系统中,主要与地址发生联系:包括地址空间的选择(接系统的IO/M*信号)和高位地址的译码选择(与系统的高位地址线相关联) 对一些存储芯片通过片选无效可关闭内部的输出驱动机制,起到降低功耗的作用,101,5. 存储芯片的读写控制,芯片OE*与系统的读命令线相连 当芯片被选中、且读命令有效时,存储芯片将开放并驱动数据到总线 芯片WE*与系统的写命令线相连 当芯片被选中、且写命令有效时,允许总线数据写入存储芯片,102,存储器模块设计,确定芯片型号及数量 根据容量、速度、价格、功耗等要求,确定芯片的具体型号和数量。如考虑选用SRAM还是DR

37、AM,是否需要E2PROM、FLASH等等。,思考:若要求扩展64K容量的内存,以下几种选择哪种最优? 64K1的芯片数量N=(64K8)/(64K1)=18片;需位扩展 8K8的芯片数量N=(64K8)/(8K8)=81片;需字扩展 16K4的芯片数量N=(64K8)/(16K4)=42片;需字位扩展,芯片的种类和数量应越少越好;在芯片数量相同的情况下应考虑总线的负载能力和系统连接的复杂性。,从总线负载和系统连接来看,第二种选择最好。,103,103,存储器模块设计,内存地址空间的分配 在PC机中,大部分存储区域已被系统使用或被系统保留,用户扩展存储器可选择的地址范围一般落在0C0000H

38、0DFFFFH范围内。当然,实际设计时,还需要考虑系统的具体配置,以及是否需要设置选择开关来在改变扩展存储器的地址范围。 用户扩展存储器地址空间的范围决定了存储芯片的片选信号的实现方式。,104,104,存储器模块设计,存储芯片的互连方式,另外,如果系统中数据总线的宽度大于8bit,如8086微处理器系统,为了能同时进行8位和16位操作,还应该设计高位库和低位库。,即根据选定存储芯片的特点确定其字位扩展方式:通常各存储芯片上的地址线及读写控制线均互连,而数据线和片选线的连接方式需根据具体情况确定。,105,105,存储器模块设计,存储器片选译码电路,地址总线的低位地址线直接与各存储芯片的地址线

39、连接。所需低位地址线的数目N与存储芯片容量L的关系:L2N。,片选信号可以采用线译码、部分译码和全译码等三种方式(或三种方式的组合)来实现。,每组芯片使用一根地址线作片选;,只有部分高位地址线参与译码形成片选信号;,全部高位地址线都参与译码形成片选信号;,106,5.4 虚拟存储器,虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它是借助磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。在虚拟存储器中不仅有主存和辅存两级存储器,还必须有辅助软、硬件来对它们之间的数据实现控制。有了虚拟存储器,用户无需考虑所编程序在主存中是否放得下或放在什么位置等问题。,10

40、7,特点: 1)允许用户访问比实际存储空间大得多的地址空间,虚存空间取决于机器所能提供的虚存地址码的长度。将当前和常用到的内容放在主存中,其他还未用到的放在外存中。 2)每次访存都要自动的进行虚实地址的转换,108,虚拟存储系统所采取的映像方式有全相联映像、组相联映像和直接映像等。替换算法也多采用 LRU算法。虚拟主存的实现方法有分页、分段和段页式。在分页式虚拟主存中,地址空间被分成大小相对的虚拟页。其中的某些页被映像到物理页面,其他的页面则不映像到物理页面。对映像页面的访问将由MMU转换到正确的物理地址。引用一个没有映像的页面将产生一个缺页。主存一辅存层次的信息传送可采用几种不同的管理方案,

41、如段、页或段页式。,109,5.5.1 段式管理方案 段式管理方案是将程序按其逻辑结构分成许多大小不同的、相对独立的程序段。在采用段式管理的系统中,为了进行地址变换需要为各用户建立一个段表。段表内包括段号、段起点、段长、装入位和访问权等内容。任何一个段可从0地址开始编址。访问权是指该段所允许的访问形式,便于以段为单位实现存储保护。如程序段只允许执行不许写,数据段只许读写不能执行,常数段只许读不许写等。,110,段式管理方案,段号 起始位置 有效位 段长 访问方式,以程序的逻辑结构所形成的段作为主存分配单位的存储器管理方式. 段大小可以不相等. 每个程序有一个段表 (E表示执行),段1 (1KB

42、),段2 (2KB),段3 (3KB),段4 (1KB),段5 (3KB),地址,主存空间,段1 段5 段3,0 1K 4K 60 63,段表,逻辑程序空间,111,段式管理系统的优点是段的分界与程序的自然分界相对应。段的逻辑独立性,使它易于编译、管理、修改和保护,也便于多道程序共享。其缺点是容易在段间留下许多空余的零碎存储空间造成浪费。另外段的起点和终点不定。,112,5.5.2 页式管理方案,信息传送单位是定长的页(如4 KB),所以虚存和主存的存储空间都被划分为等长的固定页。而把前者称为虚页或逻辑页,而把后者称为实页或物理页。它比段式管理系统的空间浪费要小得多。由于页不是逻辑上独立的实体

43、,所以处理保护和共享都没有段式管理方式容易实现。 图表示某个程序有 5页(逻辑页号 04)各页分别装入主存不连续的页面位置,用页表记录逻辑页号及其所对应的实主存页号,页表是由操作系统建立的。图 5.13中逻辑页号0、1、3已分配实主存空间,所以装入位为1。,113,页式管理方案,程序空间,实存空间,逻辑页号,物理页号,0 1 2 3 4,0 1 2 3 4 5 6,0 2 1 1 1 1 2 3 4 1 4,页表,逻辑页号 物理页号 有效位,将虚拟空间和主存空间划分成大小固定的页,以页为分配单位的存储管理方式. 页的大小随机器而异,如4KB。 每道程序拥有一个页表 页表自动生成,对程序员透明.

44、,114,虚拟地址到主存实地址的变换是由页表来实现的。在页表中,对应每一个虚存页号有一个表目,表目内容至少要包含该虚页所在的主存页面地址(页面号),用它作为实(主)存地址的高字段;与虚拟地址的字地址字段相拼接就产生完整的实主存地址,据此访问主存、页式管理的地址变换如图所示。,115,通常,在页表的表项中还包括装入位(有效位)修改位、替换控制位及其他保护项等组成的控制字。如装入位为“1,表示该虚页已从辅存调入主存。如装入位为0,则表示对应的虚页尚未调入主存,如访问该页就要产生页面失效中断。启动输入输出子系统,根据外页表项目中查得的辅存地址,由磁盘等辅存中读出新的页到主存中来。,116,修改位指出

45、主存页面中的内容是否被修改过,替换时是否要写回辅存;替换控制位指出需替换的页等。 值得注意的问题是在页式管理中,假设页表是保存在主存储器中,那么在访问存储器时首先要查页表,即使页面命中,也得先访问一次主存去查页表,再访问主存才能取得数据,这就相当于主存速度降低了一倍。如果页面失效,要进行页面替换,页面修改,访问主存次数就更多了。,117,如果采用把页表的最活动部分存放在快速存储器中组成快表,这是减少时间开销的一种方法。另外在一些影响工作速度的关键部分(如快表)再引入了硬件支持,以缩短访存时间。这样,一种经快表与慢表实现内部地址变换的方式如图所示。,118,图页式虚存结构,控制字,主存页面号,页

46、面基址寄存器,虚地址,实存地址,页表,(在主存中),119,快表由硬件组成,通常称为转换旁路缓冲器(translation look aside buffer,简称TLB)。它比实际的页表小得多,一般在16行64行之间,快表只是慢表(指主存中的页表)的小小的副本。查表时,由虚页号同时去查快表和慢表,当在快表中有此虚页号时,就能很快地找到对应的实页号送入实主存地址寄存器,并使慢表的查找作废。从而能做到虽采用虚拟存储器,但访主存速度几乎没有下降。如果在快表中查不到时,那就要费一个访主存时间查慢表,从慢表中查到实页号送入实主存地址寄存器并将此虚页号和对应的实页号同时送入快表。替换快表中某一行内容这也

47、要用到替换算法。具体的替换算法如先进先出、近期最少使用和随机算法等。,120,图使用快表和慢表实现虚实地址变换,慢表(在主存中),(快表中查到),(按内容访问),相联比较,(快表中查不到),(按地址访问),表),(硬件构成),121,段页式管理方案,将段式和页式管理方式结合起来。 段页式将实际存储器机械等分成固定大小的页,程序则按模块分段,每段又分成与主存页面大小相同的页。 段页式管理兼有段式和页式的优点。 缺点是在地址映像过程中需要多次查表。,122,在这种系统中,虚拟地址转换成物理地址是通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表的起始地址(页号)及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等标志。,123,如果有多个用户在机器上运行称为多道程序,多道程序的每一道(每个用户)需要一个基号(用户标志号),可由它指明该道程序的段表起点(存放在基址寄存器中)。这样虚拟地址应包括基号D、段号S、页号P、页内地址d 。格式如下:,段页式虚拟存储系统由虚拟地址向实主存地址的变换至少需查两次表(段表与页表)。,124,5.4 虚拟存储技术,虚拟存储技术分类 虚拟页式存储管理 纯页式管理 请求调页 虚拟段式存储管理 纯段式管理 请求调段 虚拟

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1