存储器
本篇博客为微机原理的期末复习而做。希望可以和各位读者一同交流学习进步。
期末复习要求:
-
掌握半导体存储器的分类、功能与特点;
-
熟悉常用半导体存储器的芯片与容量;
-
掌握存储器系统的设计(存储器芯片与CPU连接应考虑的问题);
- 地址线、信号线、控制信号的连接;
- 存储器芯片的寻址方式与地址范围的确定:线选法、全译码法、部分译码法;
-
根据掌握要求用存储器芯片组成存储系统:
- 选择芯片数
- 画出存储器系统的电路图
- 确定各芯片的地址范围
-
存储器扩展技术
- 位扩展
- 字扩展
- 字位扩展
一、半导体存储器的分类、功能与特点
存储器是计算机的重要组成部分,用来存放计算机系统工作时所用的信息——程序和数据。存储器由能够表示二进制数“0”和“1”的,具有记忆功能的一些物理器件组成。存储器能存放一位二进制数的物理器件成为一个存储元。若干个存储元构成一个存储单元。
内存(主存):用于存放当前正在使用的程序和数据,CPU可以对它直接访问,存取速度快但是容量小。
外存(辅存):用于存放一些CPU暂时不处理的程序和数据。当CPU要处理这些信息时,必须先将其调入内存。需通过专用设备才能对其进行读写操作。外存包括了软盘、硬盘、光盘等等。外存容量大,相对于内存来说,存取速度较慢。
-
存储器的分类
只读存储器ROM:用户只能在使用时读出其中信息,不能修改或写入新的信息,断电后,其信息不会消失。
随机读取存储器RAM:存储器中的信息能读能写,且对存储器中任一单元的读或写操作所需要的时间基本是一样的。断电后,RAM的信息即消失。
ROM:掩膜ROM(制造厂一次性写入)、PROM(用户自行写入,一次性的)、EPROM(用户自行写入,可用紫外线擦除,可多次写入)、 E 2 P R O M E^2PROM E2PROM(用户自行写入,可用电信号清除和改写,可多次写入,掉电不丢失)
RAM:双极型半导体RAM(存取时间短,与MOS相比,集成度低,功耗大,价格高)、MOS型RAM(SRAM静态RAM,利用半导体触发器的两个稳定状态表示“0”或“1”,只要电源不撤除,信息不会消失,不需要刷新电路;DRAM动态RAM,利用电容端电压的高低来表示“1”和“0”,为了弥补漏电需要定时刷新。一般微机系统中的内存采用DRAM,配有刷新电路,每隔1-2ms刷新一次)
二、常用半导体存储器的芯片与容量
存储器的性能指标:存储容量、存储速度、可靠性、功耗。
存储容量是一块存储芯片上所能存储的二进制位数。假设存储芯片的存储单元数是M,一个存储单元所存储的信息的位数是N,则其存储容量为M*N。
芯片的存储容量和微机的存储容量的区别。
微机的存储容量是多片存储芯片所组成的总存储容量。微机的最大内存容量由CPU的总线来决定。实际的装机容量由实际使用的若干片存储芯片组成的总存储容量。
存储速度、可靠性、功耗不是考试重点本篇博客暂不列出,以节省复习时间。
存储器的基本结构:存储体(容量M*N)、地址寄存器(地址锁存器,锁存CPU送来的地址信号)、地址译码器(对地址信号进行译码,选择存储体要访问的存储单元)、读/写驱动电路(包括读出放大和写入电路)、数据缓冲器(芯片数据信号经双向三态门挂在数据总线上,未选中该片,呈高阻状态)、读/写控制电路(接受来自CPU的片选信号、读/写信号,对ROM只读,对DRAM刷新)。
“读”操作过程:送地址(CPU通过地址总线将地址送入地址寄存器,并译码);发出“读”命令(CPU通过控制总线将“存储器读”信号送入读/写控制电路);从存储器读出数据(读/写控制电路根据“读”信号和片选信号选中存储体中的某一存储单元,从该单元读出数据,送到数据缓冲器。再经过数据总线送到CPU)
“写”操作过程:送地址(CPU通过地址总线将地址送入地址寄存器,并译码);发出“写”命令(CPU通过控制总线将“存储器写”信号送入读/写控制电路);写入数据到存储器(读写控制电路根据“写”信号和片选信号选中存储体中的某一存储单元,将数据总线上的数据送到数据缓冲器,再写入到选中的存储单元)
典型的SRAM芯片
CMOS RAM芯片6264(8KB)
主要引脚功能:
- 地址线 A0—A12;
- 数据线 D0—D7;
- 输出允许信号 O E ‾ \overline{OE} OE;
- 写允许信号: W E ‾ \overline{WE} WE;
- 片选信号: C S 1 ‾ , C S 2 \overline{CS_1},CS_2 CS1,CS2;
常用的SRAM还有6116、6232、62256,适用于较小系统。
译码电路
将输入的一组二进制编码变换为一个特定的输出信号,即:将输入的一组高位地址信号通过变换,产生一个有效的输出信号,用于选中某一个存储器芯片,从而确定了该存储器芯片在内存中的地址范围。
全地址译码:用全部的高位地址信号作为译码信号,使得存储器芯片的每一个单元都占据一个唯一的内存地址。
部分地址译码:用部分高位地址信号作为译码信号,使得被选中的存储器芯片占有几组不同的地址范围。
A 、 B 、 C A、B、C A、B、C是译码输入端, G 1 , G 2 A ‾ , G 2 B ‾ G_1,\overline{G_{2A}},\overline{G_{2B}} G1,G2A,G2B是使能端。
连线时需要注意的是:地址的方向仅能是CPU通向存储器,数据可以双向。
典型的DRAM
Intel 2164A(64K*1),8条地址线,2位数据线,3条控制线,两条电源线。地址线采用分时复用,由CAS(列选通)和RAS(行选通),从而实现16位地址线。
三、存储器扩展技术
用多片存储芯片构成一个需要的内存空间,它们在整个内存中占据不同的地址范围,任一时刻仅有一片(或一组)被选中——存储器的扩展。
位扩展
位扩展:当构成内存的存储器芯片的字长小于内存单元的字长时,就要进行位扩展,使每个单元的字长满足要求。
位扩展方法:将每片的地址线、控制线并联,数据线分别连接至数据总线不同位上。
位扩展特点:存储器的单元数不变,位数增加。
字扩展
字扩展:地址空间的扩展。芯片每个单元的字长满足,但单元数不满足。
字扩展方法:每个芯片的地址线、数据线、控制线并联,仅片选段分别引出,以实现每个芯片占据不同的地址范围。
字位扩展
根据内存容量及芯片容量确定所需芯片数
进行位扩展以满足字长要求
进行字扩展以满足容量要求
若已有存储芯片的容量为LK,要构成MN的存储器,需要的芯片数为:M/L * N/K
四、存储器系统的设计
- 芯片选择;
SRAM与CPU连接,不需要外围电路,连接简单,用于小型控制系统
DRAM用于大型系统,因为需要刷新电路,比如PC机的内存条
ROM通常用于存放固定的系统程序 - 存储器芯片的基本地址;
- 存储器芯片的容量扩充;
- 存储器芯片与CPU连接;
地址总线:地位直接相连,高位通过译码器相连。地址线的连接方式确定了芯片的地址。
数据总线:8位芯片的数据线可以直接与8088CPU相连,与8086CPU相连要分成两个存储体;低于8位的要先扩充再相连。
控制信号:系统总线中与存储器有关的控制信号有 O M ‾ / M , R D ‾ , W R ‾ ( 针 对 8088 ) \overline{OM}/M,\overline{RD},\overline{WR}(针对8088) OM/M,RD,WR(针对8088)。