第5章 存储器 本章学习主要内容为: 存储器的分类及性能指标。 存储器的分级结构。 常用存储芯片与CPU的接口特性。 存储器的接口设计。 高速缓冲存储器(cache)。 虚拟存储器。
第5章 存储器 5.1 存储器概述 5.2 内存的组织原理与设计 5.3 高速缓冲存储器(cache) 5.4 虚拟存储器
5.1 存储器概述 一、存储器的分类及主要性能指标 1. 存储器的分类 从不同的角度出发,存储器有不同的分类方式。 1)按工作时与CPU的联系密切程度分类,可分为主存(内存)和辅存(外存)。 2)按存储器元件材料分类,可分为半导体存储器、磁存储器和光存储器。计算机内部均使用半导体存储器,光磁材料存储器用作大容量辅存。 3)按制造工艺的不同,可把半导体存储器分为双极型和MOS型两大类。双极型读/写速度快,但功耗大,集成度低,价格高,一般用于CPU内部寄存器组或快存。MOS型功耗小,集成度高,用于大容量的内存。 4)按存储器读/写工作方式分类,可将内存为只读ROM(Read Only Memory)和随机读/写存储器RAM(Random Access Memory)等。
常用的MOS型半导体存储器分类如下: (1)ROM只读存储器 掩膜ROM; PROM(可编程ROM); EPROM(紫外线可擦PROM); (2)RAM随机存取存储器 SRAM(静态RAM); DROM(动态RAM); IRAM(组合RAM)。 (3)SAM顺序存取存储器 FIFO(先进先出存储器); CCD(电荷耦合器件); MBM(磁泡存储器)。
2. 存储器的性能指标 1)存储容量 存储容量是指存储器可以存储的二进制信息总量。表示方法是:容量=字数×字长。 2)存取速度 3)功耗 4)负载 5)可靠性 6)性能价格比
二、存储器的分级结构 第一级是寄存器,最高一级的存储器,内含在CPU中,读/写操作速度最快。 第二级是高速缓冲存储器(cache),是介于CPU与常规主存储器之间的一级或两级高速小容量存储器。其存取速度比主存快一个数量级,大体与CPU处理速度相当。 第三级是内存储器。 最低一级存储器是大容量的外存,如磁带、软盘、硬盘、光盘等。
三、常用存储芯片与CPU的接口特性 1.EPROM的接口特性 1)引脚图及功能说明
2)芯片与CPU的连接方法 (1)低位地址线、数据线、电源线直接相连。 (2)编程电源通常由开关控制。
2. SRAM的接口特性 1)芯片引脚图及功能
2)芯片与CPU连接方法 (1)低位地址线、数据线、电源直接相连; (2)高位地址线经译码后驱动片选信号CE; (3)控制总线组合形成读/写控制信号WE或OE/WE。 如图5.4所示。
3. DRAM的接口特性 1)一般DRAM芯片的接口特性
2) CPU控制刷新的DRAM接口逻辑 返回
5.2 内存的组织原理与设计 一、存储器结构的确定 1.内存的分区结构 内存使用分区方式进行层次化组织,内存分为基本内存区(conventional memory)、高端内存区(supper memory)、扩充内存区(expanded memory)和扩展内存区(extended memory)。
1)基本内存区 基本内存区主要供DOS操作系统使用。
2)高端内存区 高端内存区留给系统ROM和外部设备的适配卡缓冲区使用。
3)扩充内存区 扩充内存区早先是在16位微型计算机系统中为了扩大内存空间而采用的技术,扩充内存区通过在总线槽上插内存扩充卡来扩大内存空间,最大扩充容量为32MB。扩充内存实际上是CPU直接寻址范围以外的物理存储器,对于16位CPU来说,直接寻址的内存空间为1MB,1MB之外的内存区即为扩充内存。 4)扩展内存区 扩展内存是32位微型计算机系统中才有的内存区,这是指1MB以上,但不是通过内存扩充卡映射来获得的内存空间,扩展内存在32位CPU的寻址范围内,其大小随具体系统的内存配置而定。
2. 16位和32位微型计算机系统的内存组织 1)16位微型计算机系统的内存组织
2)32位微型计算机系统的内存组织
二、存储器芯片的选择 1.RAM和ROM选用 (1)存放当前正在执行的程序和数据。 (2)作为I/O数据缓冲存储器。 (3)作为中断服务程序和子程序中保护CPU现场信息的堆栈(Stack)。 (4)在后备电源(一般是可充电电池)及掉电保护电路的支持下,作为存放系统配置参数和高级芯片状态参数的存储器。
2. RAM类型的选用 (1)SRAM状态稳定,接口简单,速度高,但集成度低,成本高,功耗也较大,所以一般用于高速缓存器和小容量内存系统(例如,单片机开发系统,单板机系统)的设计中。 (2)DRAM比SRAM集成度高,功耗小,位价格低,一般普遍用来组成大容量内存系统和各种I/O适配卡的I/O数据缓存器。 (3)IRAM是将动态刷新电路集成于DRAM芯片内部的新型DRAM芯片,兼具有SRAM和DRAM的优点,预计其应用会越来越广,特别是在中、小容量的存储系统中。
3. ROM类型的选用 掩膜ROM和PROM只用于大批量生产的微型计算机产品中,在产品研制和小批量生产时,可选用EPROM或E2PROM芯片,以便于多次修改程序或用户编程。 闪速存储器(Flash Memory)是一种20世纪80年代末才由Intel公司推出的,之后发展最快且前景最好的新型存储芯片。 4. 芯片型号的选用 在具体选用芯片型号时,通常应考虑存取速度、存储容量和结构以及价格这3个因素。 考虑存取速度时,最好选与CPU时序相匹配的芯片。
存储器与地址总线的连接/转换,本质上就是在地址分配的基础上实现地址译码,以保证CPU能对存储器中的所有单元正确寻址。主要包括两方面: 三、存储器接口的设计 存储器接口的设计,实际上就是要解决存储器同CPU三大总线的正确连接与时序匹配问题。 1.与地址总线的连接/转换 存储器与地址总线的连接/转换,本质上就是在地址分配的基础上实现地址译码,以保证CPU能对存储器中的所有单元正确寻址。主要包括两方面: 高位地址线译码,用以选存储芯片; 低位地址线连接,用以通过片内地址译码器选存储单元。
根据对高位地址总线的译码方案不同,片选控制方法通常有线选法、全译码法和局部译码法3种。 1)线选法
2)全译码法
3)局部译码法
2. 与控制总线的连接/转换 3. 与数据总线的连接/转换 对于存储器来说,与控制总线有关的外部接口信号线,除如上所述的片选控制线外,主要还有两类:一是读/写控制线,用于决定操作类型;二是行选通、列选通信号线(仅对DRAM芯片),用于控制DRAM的行、列地址线输入和动态刷新。 3. 与数据总线的连接/转换 在微型计算机中,无论字长是多少,一般每个存储模块(8位机为单一存储模块,16位机为双模块,32位机为4模块)都是以一个字节为基本单位来划分存储单元的,即每8位为一个存储单元,对应一个存储地址。但由于存储芯片的内部结构不同,有的芯片一个地址对应8个存储位,有8条数据引线,例如2716和2128;而有的芯片一个地址对应4位,数据引线只有4条.例如2114;还有的芯片只有一个存储位,只有一根数据输入、输出线,例如2118。当用这些存储字长不是8位的芯片构成内存时,必须用多片合在-起,并行构成具有8位字长的存储单元。例如2114,需同时用两片;而2118,则需同时用8片。而在用多片构成存储单元时,其地址线、控制线完全是并联在一起的,数据线则分别接在数据总线的不同位线上。
四、小型存储器设计举例 设计小型存储器的一般步骤如下: (1)根据系统实际装机存储容量,确定存储器在整个存储空间中位置。 (2)选择合适的存储芯片。①根据系统性能指标要求选择芯片类型(RAM或ROM)与型号。②确定芯片数量:若存储容量为M×N位,所用芯片容量为L×K位,则系统字、位同时扩展需(M/L)×(N/K)个芯片。 (3)画地址位图。即按系统所提供地址总线A15~A0对所设计存储空间进行地址编码,分出低位地址线选择片内各单元,高位地址线确定片选择译码逻辑。 (4)画出所设计存储器原理图,需要时指明每片地址范围。图中包括地址线连接及译码电路、数据线连接、读/写控制线连接及其控制逻辑电路等。
【例5.1】 设计一个12KB容量的存储器,要求EPROM区为8KB,从0000H开始,采用2716(2KB)芯片;RAM区为4KB,从2000H开始,采用2128或6116(2KB)。系统提供16为地址线、8根数据线。 解:①系统需要4片2716,2片6116。因为地址范围明确,且2716和6116容量尺寸相同,故使用74LS138即可完成全部片选任务。 ②画地址位图,以获得译码关系和每片地址范围。 ③画连接图:如图5.15所示。 各存储器芯片的地址范围如下: 2716(1):0000H~07FFH 2716(2):0800H~0FFFH 2716(3):1000H~17FFH 2716(4):1800H~1FFFH 6116(1):2000H~27FFH 6116(2):2800H~2FFFH
返回
5.3高速缓冲存储器(cache) 1. cache存储器工作原理 在存储系统的层次结构中引入cache是为了解决CPU与主存之间的速度差异,以提高CPU工作效率。 CPU与主存之间的数据传输都必须经过cache控制器,cache控制器将来自CPU的数据读写请求传递给高速缓冲存储器cache进行相应的处理。图5.16给出了cache的逻辑结构。
2. cache存储器的替换算法 (1)先进先出算法(FIFO)。 (2)近期最少使用算法(LRU)。 3.多层次cache存储器 返回
5.4 虚拟存储器 1.虚拟存储原理 虚拟存储系统是在存储层次结构基础上,通过存储器管理部件MMU进行虚拟地址和实际地址自动变换而实现的,对每个编程者是透明的,编址空间很大。 虚拟存储器和cache的区别: (1)cache用于弥补主存与CPU的速度差距,而虚拟存储器则用来弥补主存和辅存之间的容量差距。 (2)cache每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块可以分页、分段等,长度很大,达几百或几千字节。 (3)CPU可以直接访问cache,而CPU不能直接访问辅存。 (4)cache存取信息的过程、地址变换和替换算法等全部由辅助硬件实现,并对程序员是透明的,而虚拟存储器则由辅助软件(操作系统的存储管理软件)和硬件相结合来进行信息块的划分和程序的调度。
2. 虚拟存储器分类 1)页式虚拟存储器 2)段式虚拟存储器 3)段页式虚拟存储器 返回