《2012微机原理及接口技术课件-CH5.ppt》由会员分享,可在线阅读,更多相关《2012微机原理及接口技术课件-CH5.ppt(58页珍藏版)》请在金锄头文库上搜索。
1、第5章 存储器系统,5.1 存储器件的分类 5.2 半导体存储芯片 5.3 存储系统的层次结构 存储系统的分层管理 地址映射技术 现代计算机的多级存储体系,决定芯片片选信号的实现,按存储介质(存储原理)、按读写策略(存取方式),容量扩展;,基本结构(RAM、ROM)、性能指标,5.4 主存储器设计技术 1.存储芯片选型 2.地址译码技术 3.存储芯片的组织形式 4.存储器接口设计中的缓冲、驱动和隔离,两级译码; 全译码、部分译码、线译码; 固定、可变,并行、多端口、联想,按存储介质(原理),静态SRAM,动态DRAM,存取速度快,但集成度低,一般用于大 型计算机或高速微机的Cache;,速度较
2、快,集成度较低,一般用于对速度要求高、而容量不大的场合(Cache)。,集成度较高但存取速度较低,一般用于需较大容量的场合(主存)。,不同的存取方式,一、数据传送方式 并行存储器 (Parallel Memory) 串行存储器 (Serial Memory) 二、数据存取顺序 随机存取(直接存取) 可按地址随机访问; 访问时间与地址无关; 顺序存取 先进先出(FIFO)的存储原则 队列(queue) 堆栈存储 先进后出(FILO)/后进先出(LIFO); 向下生成和向上生成; 栈顶、堆栈指针SP;,举例FIFO存储器,IDT7202原理图,美国IDT公司,不能随机读写,堆栈的生成方式,切记:向
3、上还是向下生成,是以入栈时的堆栈生长方向(地址增或减)来判断的。,静态RAM(SRAM)的六管基本存储单元,集成度低,但速度快,价格高,常用做Cache。,T1和T2组成一个双稳态触发器,用于保存数据。T3和T4为负载管。 如A点为数据d,则B点为数据/d。,行选择线有效(高电平)时,A 、B处的数据信息通过门控管T5和T6送至C、D点。,行选择线,列选择线,列选择线有效(高电 平)时,C 、D处的数据信息通过门控管T7和T8送至芯片的数据引脚I/O。,分析以下存储器读写控制电路工作过程,动态RAM(DRAM)的单管基本存储单元,集成度高,但速度较慢,价格低,一般用作主存。,电容上存有电荷时,
4、表示存储数据A为逻辑1; 行选择线有效时,数据通过T1送至B处; 列选择线有效时,数据通过T2送至芯片的数据线; 为防止存储电容C放电导致数据丢失,必须定时进行刷新; 动态刷新时T1导通,而T2截止。,刷新放大器,RAM芯片的组成与结构(一),该RAM芯片外部共有地址线 2n 根,数据线 1 根; 该类芯片内部一般采用双译码(复合译码、重合选择)方式,基本存储单元排列成N*N 的正方矩阵,且有M =22n =N2 的关系成立;,存储芯片容量标为“M*1”(bit),RAM芯片的组成与结构(二),该RAM芯片外部共有地址线 L 根,数据线 N 根; 该类芯片内部采用单译码(字译码)方式,基本存储
5、单元排列成M*N的长方矩阵,且有M=2L的关系成立;,存储芯片容量标为“M*N”(bit),RAM芯片的引脚特性,从三总线的角度看:,1. 地址线数目A、数据线数目D与芯片容量(MN)直接相关:,2A=M,D=N,2. 控制信号应包括:片选信号和读/写信号,所以,6264容量: 2138bit8K8bit,半导体存储芯片的主要技术指标,存储容量 存取速度 功耗 可靠性 工作电源电压、工作温度范围、可编程存储器的编程次数、成本,存储器的容量以字节(B)为单位,而存储芯片的容量以位(b)为单位。,即存取时间,以ns为单位,也可用存取时间Ta、存取周期Tm和存储器带宽Bm等表示。,可用平均故障间隔时
6、间来衡量,以mW/芯片或W/单元为单位,存储容量单位,1 kilobyte KB = 1000 (103) Byte 1 megabyte MB = 1 000 000 (106) Byte 1 gigabyte GB = 1 000 000 000 (109) Byte 1 terabyte TB = 1 000 000 000 000 (1012) Byte 1 petabyte PB = 1 000 000 000 000 000 (1015) Byte 1 exabyte EB = 1 000 000 000 000 000 000 (1018) Byte 1 zettabyte ZB
7、 = 1 000 000 000 000 000 000 000 (1021) Byte 1 yottabyte YB = 1 000 000 000 000 000 000 000 000 (1024) Byte 1 nonabyte NB = 1 000 000 000 000 000 000 000 000 000 (1027) Byte 1 doggabyte DB = 1 000 000 000 000 000 000 000 000 000 000 (1030) Byte,210,220,230,存储器分层管理,设计目标 整个存储系统速度接近M1而价格和容量接近Mn 二. 操作策略
8、 映像规则:用于确定一个新的块(页)被调入本级存储器时应放在什么位置上。 查找规则:用于确定需要的块(页)是否存在本级存储器中以及如何查找。 替换规则:用于确定本级存储器不命中且已满时应替换哪一块(页)。 更新规则:用于确定写数据时应进行的操作。,存储器的地址映射,地址映射也叫地址重定位,指将用户程序中的逻辑地址,转换为运行时机器可直接寻址的物理地址。,虚拟地址,分页技术 页是信息的物理单位,与源程序的逻辑结构无关; 页长由系统确定,大小固定,用户不可见; 页面只能以页大小的整倍数地址开始,页一般不能共享; 分段技术 段是信息的逻辑单位,由源程序的逻辑结构所决定; 段长由用户确定(用户可见),
9、大小不固定; 段可从任意地址开始,段内连续编址,段间不一定连续;,内存地址映射,虚拟地址 物理地址,MMU(内存管理单元),程序空间、逻辑地址空间,实存空间、硬件地址空间,分页,映射,分页技术: 页的大小固定; 虚拟地址到物理地址;,分段技术: 段的大小可变; 逻辑地址到物理地址;,完整的四级结构: 寄存器 Cache 主存 辅存,其中:cache-主存结构解决高速度与低成本的矛盾; 主存-辅存结构利用虚拟存储器解决大容量与低成本的矛盾;,常用的时序逻辑电路,由锁存器或触发器构成的,一个锁存器或触发器能存储1位二进制数,N个锁存器或触发器可以构成N位寄存器。,cache的功效,设cache 的
10、存取时间为tc,命中率为h,主存的存取时间为tm,则平均存取时间: ta = tc h +(tc + tm)(1-h)。 【例】 某微机存储器系统由一级cache 和主存组成。已知主存的存取时间为80 ns,cache 的存取时间为6 ns,cache的命中率为85%,试求该存储系统的平均存取时间。 ta =6 ns85%+80 ns(1-85%)=5.1+12=17.1 ns cache的命中率与cache 的大小、替换算法、程序特性等因素有关。 cache未命中时CPU还需要访问主存,这时反而延长了存取时间。,贯穿读出式 旁路读出式,按字节编制导致了两种存放方式:大小端,主存的数据存储,不
11、同宽度数据的存储方式,按整数边界对齐存储可以保证访存指令的速度,按任意边界对齐存储可以保证存储空间的利用,存储芯片的选择,一、确定类型 根据不同应用场合的特点确定采用何种类型的芯片,如考虑选用SRAM还是DRAM,是否需要E2PROM、FLASH等等; 二、确定具体型号及数量 根据容量、价格、速度、功耗等要求确定芯片的具体型号和数量。,若要求扩展64KB容量的内存: 64K*1的芯片数量N(64K*8)/(64K*1) 1*8片; 8K*8的芯片数量N (64K*8)/(8K*8) 8*1片; 16K*4的芯片数量N (64K*8)/(16K*4) 4*2片;,显然,芯片的种类和数量应越少越好
12、;在芯片数量相同的情况下应考虑总线的负载能力和系统连接的复杂性。,(需位扩展),(需字扩展),(需字位扩展),存储器的基本构成,存储芯片,存储模块,存储体,位扩展:因每个字的位数不够而扩展数据输出线的数目; 字扩展:因总的字数不够而扩展地址输入线的数目,所以也 称为地址扩展;,存储芯片的位扩展,用64K1bit的芯片扩展实现64KB存储器,进行位扩展时,模块中所有芯片的地址线和控制线互连形成整个模块的地址线和控制线,而各芯片的数据线并列(位线扩展)形成整个模块的数据线(8bit宽度)。,存储芯片的字扩展,用8K8bit的芯片扩展实现64KB存储器,进行字扩展时,模块中所有芯片的地址线、控制线和
13、数据线互连形成整个模块的低位地址线、控制线和数据线 , CPU的高位地址线(扩展的字线)被用来译码以形成对各个芯片的选择线 片选线 。,存储芯片的字、位同时扩展,用16K4bit的芯片扩展实现64KB存储器,首先对芯片分组进行位扩展,以实现按字节编址;,其次设计个芯片组的片选进行字扩展,以满足容量要求;,两级物理地址译码方案,读/写控制信号、数据宽度指示信号、传送方式指示信号,等,假设某系统地址总线宽度为20 bit,现需要将0C0000H 0CFFFFH地址范围划分为8个同样大小的地址空间,提供给总线上的8个存储器模块,试设计相应的译码电路。 (P170,32位),全译码电路的实现,部分译码
14、方式,最高段地址不参与译码,将会因此存在地址重叠,且模块地址不连续。,线译码方式,需较多选择线(对于本例中只能连接7个芯片),且同样存在地址重叠(当地址线有多余时),且模块地址不连续。,思考:试写出各芯片占用的地址空间。,三种译码方式的比较,全译码 系统所有地址线全部都应该参与译码: 低段地址线应直接接在模块上,寻址模块内单元; 中段地址线译码后产生片选信号区分不同模块; 高段地址线可用作片选信号有效的使能控制; 部分译码 高段地址信号不参与译码,会造成地址空间的重叠及不连续。 线译码 电路结构简单,但系统必须保证参与片选的地址线不能同时为有效电平; 同部分译码法一样,因为有地址信号不参与译码
15、,也存在地址重叠及不连续的问题;,片选信号的译码有如下三种方式,三种译码方式的举例(补充),两级译码中,设计人员无需关注片内译码,由芯片内部完成。只需设计好片选信号的译码即可。片选信号的译码通常可采用线译码、部分译码、全译码三种方式。,线译码,【例】1KB的ROM芯片(10248),1KB的RAM芯片(10248),组成的2KB存储器系统,利用线译码完成片选控制。设CPU的DB总线8位,AB总线16位,线译码地址分析,1KB的ROM地址:A11=1,A10=0, A9A8.A0=00000000001111111111 A15A14A13A12=随意(导致地址重叠),1KB的RAM地址:A11
16、=0,A10=1, A9A8.A0=00000000001111111111 A15A14A13A12=随意(导致地址重叠),思考:若选A12,A10作为片选信号,地址还是否连续?,部分译码,【例】2KB的ROM芯片(20488),2KB的RAM芯片(20488),组成的4KB内存储器系统,利用部分译码法完成片选控制。设CPU的DB总线8位,AB总线16位,如何实现?,部分译码法地址分析,2KB的ROM地址:A11=0, A10A9.A0=0000000000011111111111 A15A14A13A12=随意,2KB的RAM地址:A11=1, A10A9.A0=00000000001111111111 A15A14A