第4章半导体存储器及其扩充_第1页
第4章半导体存储器及其扩充_第2页
第4章半导体存储器及其扩充_第3页
第4章半导体存储器及其扩充_第4页
第4章半导体存储器及其扩充_第5页
已阅读5页,还剩123页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章半导体存储器及其扩充

主要内容4.1半导体存储器概述4.2随机存取存储器(RAM)4.3只读存储器(ROM)4.4半导体存储器的扩展学习目标了解:半导体存储器的分类方法、主要性能指标及各类存储器的特点。理解:不同种类的半导体存储器芯片的工作原理、引脚功能及典型产品的使用。应用:掌握各种类型的存储器芯片与8086/8088微处理器的连接方法、存储器容量扩充的方法等,并能够在实践中灵活运用。4.1.1

半导体存储器的分类

半导体存储器的分类方法有很多种。按制造工艺分类:双极型半导体存储器和MOS型半导体存储器;按存取方式:有随机存取存储器(RAM)和只读存储器(ROM);按存储原理来分:静态存储器(SRAM)和动态存储器(DRAM);按信息传送方式:并行存储器,串行存储器

;近年来Intel公司推出名为闪速存储器(FLASHmemory)的新型半导体存储器

。1、按制造工艺分类

按制造工艺分类,半导体存储器可分为双极型和MOS型两类。(1)双极型半导体存储器双极型半导体存储器用TTL型晶体管逻辑电路作为基本存储电路。其特点是存取速度快,但和MOS型相比集成度低、功耗大,成本高。常用于高速的微机和大型计算机,在微机系统中常用于高速缓冲存储器(Cache)。1、按制造工艺分类(2)MOS型半导体存储器MOS型半导体存储器的特点是制造工艺简单,集成度高、功耗低,价格便宜,但存取速度比双极型存储器要慢。MOS型存储器有多种制造工艺,包括NMOS(N沟道MOS)、HMOS(高密度MOS)、CMOS(互补型MOS)、CHMOS(高速MOS)等,可用来制造多种半导体存储器件。微机的内存主要由MOS型半导体存储器件构成。2、按存取方式分类

按存取方式分类,半导体存储器可分为随机存取存储器(RAM)和只读存储器(ROM)。其分类如图5-2所示。(1)随机存取存储器RAMRAM是指在程序执行过程中,能够通过指令随机地、个别地对其中每个存储单元进行读/写操作的存储器。一般说来,RAM中存储的信息在断电后会丢失,是一种易失性存储器;但目前有些RAM芯片,由于内部带有电池,断电后信息不会丢失,称为非易失性RAM。RAM主要用来存放原始数据,中间结果或程序,也可与外界交换信息。静态RAM

静态RAM是以双稳态触发器作为基本的存储单元来保存信息的,每一个双稳态触发器存放一位二进制信息。其保存的信息在不断电的情况下,是不会被丢失的。动态RAM

动态RAM

的基本存储单元是单管动态存储电路,以极间分布电容来存放信息。由于是靠电容的充放电原理来存储电荷,因此如果不及时进行刷新,极间电容中的电荷会因漏电而逐渐丢失,一般信息保持的时间为2ms左右。因此DRAM需定时刷新,且必须配备专门的刷新电路。非易失性RAM

非易失性RAM是由SRAM和EEPROM共同构成的存储器。正常运行时与SRAM功能相同,用SRAM保存信息;在系统掉电或电源故障发生瞬间,SRAM中的信息被写到EEPROM中,以保证信息不丢失。(2)只读存储器ROM在微机系统的在线运行过程中,只能对其进行读操作,而不能进行写操作。断电后ROM中的信息不会消失,具有非易失性。ROM通常用来存放固定不变的程序、汉字字型库、字符及图形符号等。随着半导体技术的发展,只读存储器也出现了不同的种类,如掩膜型只读存储器MROM、可编程的只读存储器PROM,可擦除可编程的只读存储器EPROM和EEPROM等,近年来发展起来的快擦型存储器(F1ashMemory)具有EEPROM的特点。ROM的集程度高于RAM,且价格较低。掩模只读存储器掩模式ROM是芯片制造厂根据ROM要存储的信息,对芯片图形通过二次光刻生产出来的,故称为掩模ROM,芯片一旦做好,其中的信息便不能更改,因此只适用于存储成熟的固定不变的程序和数据。在大量生产时,成本很低。

可编程只读存储器PROM在出厂时,存储内容全为1(或者全为0),没有存放程序或数据,允许用户进行一次性编程,一旦编程之后,信息就永久性地固定下来。用户可以读出其内容,但是再也无法改变它的内容。用户可以根据自己的需要,用通用或专用的编程器写入程序或数据可擦除可编程只读存储器EPROM的信息可通过紫外线来擦除,可允许用户多次写入多次擦除。其擦除的方法为紫外线照射,时间为20min以上。EPROM多用于系统实验阶段或需要改写程序和数据的场合。电可擦除可编程只读存储器

EEPROM既具有ROM的非易失性,又具备类似RAM的功能,是一种可用电气方法在线擦除和多次编程写入的只读存储器。目前,大多数EEPROM芯片内部都备有升压电路。因此,只需提供单电源,便可进行读、擦除/写操作,为数字系统的设计和在线调试提供了极大的方便。快擦型存储器

FlashMemory也称为闪速存储器,这是一种新型的半导体存储器,它可以用电气方法整片或分块擦除和写入,不能按字擦除。FlashMemory既有RAM的易读易写,体积小,集成度高,速度快,可重复擦除写入几十万次等优点,又有ROM断电后信息不丢失的非易失性、电擦除性以及低成本、低功耗、容量大等优点,现被广泛用于微型便携式存储器,如U盘、MP3、掌上电脑及数码相机等领域的移动存储设备中。可见随着半导体存储器技术的发展,RAM和ROM的界限变得越来越模糊了。4.1.2半导体存储器芯片的一般结构

半导体存储器芯片的一般结构如图4-3所示,它由存储体、地址寄存器、地址译码器、数据寄存器、读写电路及控制电路等部分组成。随着大规模集成电路技术的发展,已将地址译码器,读写电路和存储体集成在一个芯片内部,称为存储芯片。4.1.2半导体存储器芯片的一般结构

图4-3半导体存储器芯片的一般结构图5-3半导体存储器芯片的一般结构1.存储体存储体是存储器芯片的基础和核心,它由多个基本存储单元组成,每个基本存储单元可存储一位二进制信息,具有0和1两种状态。从逻辑结构上看,存储体是由存储单元构成的存储矩阵,是存储单元的集合体。每个存储单元有一个唯一的地址供CPU访问。2.地址寄存器地址寄存器用来存放CPU访问的存储单元地址,该地址经地址译码器件译码后选中芯片内某个特定的存储单元。地址总线AB的位数n与存储单元数N之间的关系为n=log2N。3.地址译码器由于存储器芯片是由许多存储单元构成的,且每个存储单元一般存放8位二进制信息,因此为了区分这些存储单元,必须首先为它们编号,即分配给这些存储单元不同的地址。地址译码器的作用就是用来接受CPU送来的地址信号并对它进行译码,选择与此地址码相对应的存储单元,以便对该单元进行读/写操作。为了对某指定存储单元寻址,存储器采用了地址译码技术。常用的地址译码有两种结构,即单译码(线性排列)结构和双译码(矩阵形式排列)结构,如图5-4所示。

(a)单译码结构(b)双译码结构图4-4半导体存储器芯片内部的地址译码方式(1)单译码结构单译码结构是一个“N中取1”的译码器,如图5-4(a)所示。译码器输出驱动N根字线中的一根,每根字线由M位组成。若某根字线被选中,则对应此线上的M位信号便同时被读出或写入,经输出缓冲放大器输出或输入一个M位的字。(2)双译码结构双译码结构采用的是两级译码电路:行译码和列译码。当字选择线的根数N很大时,N=2p

中的p必然也大,这时可将p分成两部分,如:N=2p=2q+r=2q×2r=X×Y,这样便将对N的译码分别由X(行)译码和Y(列)译码两部分完成。4.读写控制电路读写控制电路提供片选和读/写控制逻辑等信号,用来完成对被选中单元中各位的读/写操作。存储器的读/写操作是在CPU的控制下进行的,只有当接收到来自CPU的读/写命令RD和WR后,才能实现正确的读/写操作。5.数据寄存器数据寄存器用于暂时存放从存储单元读出的数据,或暂时存放从CPU或I/O端口送出的要写入存储器的数据。暂存的目的是为了协调CPU和存储器之间在速度上的差异,故又称之为存储器数据缓冲器。4.1.3半导体存储器的操作特点

1.随机存取存储器RAM又叫读写存储器,其操作特点为:(1)CPU对RAM中的每一单元能读出又能写入。(2)读/写过程先寻找存储单元的地址再读/写内容。(3)读/写时间与存储单元的物理地址无关。(4)失电后信息丢失。现已开发出带电池芯片的RAM,称为非易失性RAM(NVRAM),做到失电后信息不丢失。

(5)作Cache和主存用。

2.只读存储器ROM的操作特点为:(1)ROM中存放的信息在制造时或使用前就已经写入,使用时不能改变。(2)使用时只能读出不能写入,读出时先寻找存储单元地址再读内容。(3)失电时存储信息不会丢失,因此用于存放固定不变的程序,如微机的监控管理程序、汇编程序、各种常数函数表等。

4.1.4半导体存储器的主要技术指标

衡量半导体存储器的技术指标有多种,如可靠性、容量、存取速度、功耗、价格、电源种类等,其中主要的技术指标有如下4种。1.存储容量

存储容量是存储器的一个重要指标。存储容量是指存储器芯片能存储的二进制信息量。存储器芯片容量以位(bit)为单位,所以存储器容量是指每个芯片所能存储的二进制数的位数。

2.存取速度存储器的存取速度是以存取时间或存取周来衡量的。存取时间:存取时间TA

指从启动一次存储器操作(读或写)到完成该操作所需的时间,单位一般用ns(纳秒)表示。一般器件手册上给出的存取时间是最大存取时间。(2)存取周期:存取周期TAC

指两次存储器访问所需要的最小时间间隔。由于在一次存储器访问后,芯片不可能无间歇的进入下一次访问,所以两者的关系是TAC≥TA

。3.功耗存储器功耗指每个存储单元所耗的功率,单位为µW/单元,也有用每块芯片总功率来表示功耗的,单位为mW/芯片。

4.可靠性为了保证计算机的正确运行,必然要求存储系统具有很高的可靠性。存储器的可靠性是用平均无故障时间(MeanTimeBetweenFailures,MTBF)来衡量的。MTBF表示两次故障间的平均时间间隔。

4.2随机存取存储器(RAM)

RAM存储单元是存储器的核心部分,从制造工艺上可分为两种类型:双极型RAM和MOS型RAM。双极型RAM的特点是速度快,但集成度低,功耗大,价格高,主要用于小容量的高速存储器。MOS型RAM的特点是集成度高,功耗小,价格低,但速度较双极型RAM慢,多用于大容量存储器。微机中广泛使用的是MOS型RAM。按工作方式不同,MOS型RAM分为静态RAM与动态RAM两类,因此存储单元电路形式多种多样。4.2.1静态存储器RAM

1.静态存储单元的工作原理静态RAM的每个存储位单元由6个MOS管构成,故静态存储电路又称为六管静态存储电路。如图4-5所示为六管静态存储位单元的原理示意图。在此电路中,T1~T4管组成了双稳态触发器。其中T1、T2组成一个触发器,T3、T4为负载管,起电阻作用。这个电路具有两个相对的稳定状态,当Tl管截止时,A点为高电平,它使T2管开启,于是B为低电平,双稳态触发器。其中T1、T2组成一个触发器,T3、T4为负载管,起电阻作用。这个电路具有两个相对的稳定状态,当Tl管截止时,A点为高电平,它使T2管开启,于是B为低电平,而B为低电平又进一步保证了T1管的截止。这种状态在没有外触发的条件下是稳定不变的,设为逻辑1。同样,当T1管导通时,A点为低电平,使T2管截止,B为高电平,这种状态也是稳定的,设为逻辑0。因此,可以用这个电路的两个相对稳定的状态来分别表示逻辑“1”和逻辑“0”。图4-5六管静态存储位单元(1)写入操作写入时,被写入信号自I/O线及I/O线输入。写1时,使I/O线为高电平,I/O线为低电平,经T7、T8管和T5、T6管分别与A端和B端相连,使A点为高电平,B点为低电平,即T2管导通,Tl管截止,相当于把输入电荷存储于Tl和T2管的栅级。当输入信号及地址选择信号消失之后,T5、T6、T7、T8都截止,依靠两个反相器的交叉控制,只要不掉电,就能保持写入的信息1。写0时,则I/O线为低电平而I/O线为高电平,即A点为低电平,B点为高电平,使Tl管导通,T2管截止。

(2)读出操作只要某一单元被选中,相应的T5、T6、T7、T8均导通,A点与B点分别通过T5、T6管与D及D相通,D及D通过T7、T8管与I/O及I/O线相通,即将单元的状态传送到I/O及I/O线上。如原存的信息为1,则I/O线为1,I/O线为0,通过运放读出到数据总线上。读出操作不影响触发器状态,为非破坏性读出。由于静态RAM的基本存储单元所含的MOS管数目较多,故其集成度较低;同时,其双稳态触发电路总有一个处于导通状态,使静态RAM的功耗较大,这是静态RAM的两个缺点。其优点是不需要刷新电路,简化了外部电路。2.双极型晶体管构成静态存储单元的工作原理图4-6是一个双极型晶体管存储单元电路,它用两只多发射极三极管和两只电阻构成一个触发器,一对发射极接在同一条字线上,另一对发射极分别接在位线B和B上。当单元被选中时,字线电位被提高到2.2V左右,位线的电位低于字线,于是导通管的电流转而从位线流出。如果要读出,只要检测其中一条位线有无电流即可。例如可以检测位线B,若存储单元为1状态,则T2

导通,电流由B线流出,经过读出放大器转换为电压信号,输出为1;若存储单元为0状态,则T2截止,B线中无电流,读出放大器无输入信号,输出为0。

图4-6双极型晶体管存储单元图5-5六管静态存储位单元要写入1,则存储器输入端的1信号通过写入电路使B=1、B=0,将位线B切断(无电流),迫使T1

截止,T2导通,T2的电流由位线B流出。当字线恢复到低电平后,T2

电流再转向字线,而存储单元状态不变,这样就完成了写1;若要写0,则令B=0,B=1,使位线B切断,迫使T2截止、T1导通。4.2.2静态RAM芯片介绍

1.Intel2114芯片Intel2114芯片就是基于六管存储电路的1KB×4位的静态RAM存储器芯片,其他与此类似的芯片还有Intel6116/6264/62256等。(1)Intel2114芯片内部结构Intel2114芯片的内部结构如图4-7所示,它包括下列几个主要组成部分。存储矩阵:采用64×64存储矩阵形式,共有4096个存储电路。地址译码器:其输入为10根地址线,采用两级译码,其中6根用于行译码,4根用于列译码。I/O控制电路:有列I/O电路和输入数据控制电路,对信息的输入、输出进行缓冲和控制。片选及读/写控制电路:用于实现对芯片的片选、读和写的控制。

图4-7Intel2114静态存储器芯片的内部结构图(2)Intel2114芯片的外部引脚Intel2114RAM存储器芯片如图4-8所示,为双列直插式集成电路芯片,共有18个引脚,各引脚的功能如下。A0~A9:10根地址信号输入引脚,用于指定要读写的存储单元。I/O1~I/O4:4根数据信息输入、输出引脚,用于输入要存储的数据信息或输出已存储了的数据信息。WE:读/写控制信号的输入引脚。当为低电平(WE=0)时,数据信息通过I/O1~I/O4线写入被选中的存储单元;反之,则从所选中的存储单元读出数据信息送到I/O1~I/O4线。CS:片选输入信号,低电平有效。CS=0,Intel2114处于工作状态,可以进行读写数据的操作;CS

=1,则处于不工作状态,无法对其进行读写数据的操作或读写操作无效。通常与地址译码器的输出端相连。Vcc:+5V电源。GND:接地。

图4-8Intel2114引脚图2.Intel6116芯片Intel6116芯片的容量是2K×8位,最大存取时间为200ns~450ns,采用DIP24封装,外观及引脚如图4-10所示。(1)Intel6116芯片内部结构Intel6116芯片的内部结构如图5-9所示,它包括下列几个主要组成部分。存储矩阵:采用128×128的存储矩阵形式,共有16384个存储电路。地址译码器:输入为11根地址线,采用两级译码,其中7根用于行译码,4根用于列译码。I/O控制电路:分为输入数据控制电路和列I/O电路,用于对信息的输入/输出进行缓冲和控制。片选及读/写控制电路:实现对芯片的选择和读、写控制。

图4-9Intel6116静态存储器芯片的内部结构图

(2)Intel6116芯片的外部引脚如图4-10所示。按地址线、数据线、控制线和电源线的角度来对Intel6116芯片的外部引脚功能进行分析。地址线:A0~A10,11根引脚。数据线:D0~D7。控制线

CS:为片选信号输入引脚。

OE:输出允许引脚,该脚输入低电平,芯片向外输出数据。

WE:写允许引脚,该脚输入低电平,芯片外数据写入芯片。电源线Vcc:+5V。GND:接地。

图4-10Intel6116芯片引脚图

3.Intel6264芯片(1)6264芯片的内部结构6264是采用CMOS工艺,容量为8KB×8位的高速、低功耗SRAM芯片。其内部结构与6116类似,只是地址线增加了2条,有13条地址线。存储矩阵:6264芯片有8192个存储单元,形成了128×512的存储阵列。地址译码器:地址线为13根,采用两级译码方式,其中7根用于行译码地址输入,6根用于列译码地址输入,每条列线控制8位,可形成128×512的存储阵列。I/O控制电路:分为输入数据控制电路和列I/O电路,用于对信息的I/O进行缓冲和控制。片选及读/写控制电路:用于实现对芯片的选择及读/写控制。(2)6264芯片的外部引脚

如图4-11所示,它共有28条引出线,包括13根地址线、8根数据线、4根控制信号线及其他引线,它们的含意分别为:A0~A12:13根地址信号线。D0~D7:8根双向数据线。控制线:OE:输出允许信号。只有当OE为低电平时,CPU才能从芯片中读出数据。WE:写允许信号。当WE为低电平时,允许数据写入芯片。当WE为高电平,OE为低电平时,允许数据从芯片中读出。CS1

,CS2

:片选控制端。仅当CS1

=“0”,CS2=“1”时芯片才被选中,才能对本芯片进行读写操作NC:空脚。

图4-116264芯片引脚图

表4-16264芯片工作方式选择表

(3)6264芯片的读/写操作时序6264芯片的读操作时序如图4-12所示。为保证存储器正确的读出数据,加到存储器的地址、数据和控制信号必须遵循以下的时间顺序:将被读取单元的有效地址加到存储器的地址线上;使片选信号CE1

,CE2

有效;输出允许信号OE低电平有效,经过一段延时后,所选择单元的内容出现在I/O数据线上;最后片选信号CE1,CE2、输出允许信号OE无效,I/O数据线呈高阻态,本次读出结束。

图4-126264芯片的读操作时序图

6264芯片的写操作时序如图4-13所示。为保证存储器正确的写入数据,加到存储器的地址、数据和控制信号必须遵循以下的时间顺序:将被写入单元的有效地址加到存储器的地址线上;使片选信号CE1,CE2

有效,并保持有效到写周期结束;写允许信号WE有效;待写入的数据在WE后沿被写入指定的存储单元中;片选信号、写允许信号无效,数据输入线变成高阻状态,本次写入结束。

图4-136264芯片的写操作时序图

4.2.3动态存储器RAM

动态RAM是利用MOS管栅极分布电容的充放电来保存信息的,具有集成度高、功耗小,价格低等特点,微机内存储器几乎毫无例外地都是由DRAM组成。但由于电容存在漏电现象,存储的数据(电荷)不能长久保存,因此需要专门的动态刷新电路,定期给电容补充电荷,以避免存储数据的丢失。

1.单管动态基本存储单元的工作原理单管动态存储单元如图4-14所示,它由一个MOS管T1和电容C构成。信息存储在电容C上。当电容C上充有电荷时,表示该存储单元保存信息“1”。反之,当电容C上有电荷时,表示该单元保存信息“0”。

读操作:字选择线为高电平,存储在电容C上的电荷,通过T1输出到数据线上,对分布电容CD充电或放电,改变分布电容CD上的电压,即可读出所保存的信息。

写操作:地址译码线(字选线)有效,选中该单元,使T1管导通,存储电容C与数据线D连通,由数据线D对存储电容C充电或放电,将信息存入存储电容C中。当存储电容C上有电荷,表示写入了“1”;存储电荷C上无电荷,表示写入了“0”。

图4-14单管动态存储单元

刷新操作:由于动态RAM存储单元实质上是依靠T1管栅极电容的充放电原理来保存信息的,因此一般在2ms左右电荷就会泄漏,造成信息丢失;另外,数据读出后,存储电容C上的信息也被破坏。所以必须配备读出再生放大电路,及时为DRAM各存储单元的内容进行刷新。这种单管动态存储元电路的优点是结构简单、集成度较高且功耗小。缺点是列线对地间的寄生电容大,噪声干扰也大。

2.四管动态MOS存储单元的工作原理四管存储元的缺点是元件多,占用芯片面积大,故集成度较低,但外围电路较简单,使用简单。单管电路的元件数量少,集成度高,但外围电路比较复杂。图4-15所示是四管动态MOS存储单元电路。V1和V2

交叉连接,信息(电荷)存储在C1、C2

上。C1

、C2上的电压控制V1

、V2

的导通或截止。当C1充有电荷(电压大于V1

的开启电压),C2

没有电荷(电压小于V2

的开启电压)时,V1导通、V2

截止,称此时存储单元为0状态;当C2

充有电荷,C1

没有电荷时,V2

导通、V1

截止,则称此时存储单元为1状态。V3和V4

是门控管,控制存储单元与位线的连接。V5

和V6组成对位线的预充电电路,并且为列中所有存储单元所共用。在访问存储器开始时,V5

和V6

栅极上加“预充”脉冲,V5

、V6

导通,位线D和D被接到电源VDD

而变为高电平。当预充脉冲消失后,V5

、V6截止,位线与电源VDD

断开,但由于位线上分布电容CD

和CD

的作用,可使位线上的高电平保持一段时间。在位线保持为高电平期间,当进行读操作时,X线变为高电平,V3

和V4

导通,若存储单元原来为0态,即V1

导通、V2

截止,G2

点为低电平,G1点为高电平,此时CD

通过导通的V3

和V1

放电,使位线B变为低电平,而由于V2

截止,虽然此时V4导通,位线D仍保持为高电平,这样就把存储单元的状态读到位线D和D上。如果此时Y线也为高电平,则D、D的信号将通过数据线被送至RAM的输出端。

图4-15四管动态MOS存储单元结构图

4.2.4动态存储器RAM芯片介绍1.2164A的内部结构图4-16所示是2164A的内部结构。64KB存储体由4个128×128的存储矩阵组成,每个128×128的存储矩阵由7条行地址线和7条列地址线进行选择,在芯片内部经地址译码后可分别选择128行和128列。7位行地址经1/128行译码器产生128条行选择线,7位列地址经1/128行译码器产生128条列选择线。128读出放大器与4个128×128的存储阵列相对应,共有4个128读出放大器,它们能接收由行地址选通的4×128个存储单元的信息,经放大后,再写回原存储单元,因此128读出放大器是实现刷新操作的重要部分。

图4-16Intel2164A内部结构示意图

2.Intel2164A的外部引脚及逻辑符号Intel2164A是具有16个引脚的双列直插式集成电路芯片,如图4-17所示。A7~A0:8根地址信号的输入引脚,采用分时输入8位行地址和8位列地址共16位地址信息,以指定要读写的存储单元。

RAS:行地址选通信号输入引脚,兼作芯片选择信号,低电平有效,即当RAS为低电平(=0)时,表明该芯片当前向A7~A0接地址引脚输入的是行地址。

CAS:列地址选通信号输入引脚,兼作芯片选择信号,低电平有效,即当CAS为低电平(=0)时,表明该芯片当前向A7~A0接地址引脚输入的是列地址(此时RAS应保持为低电平)。

图4-17Intel2164A引脚与逻辑符号

WE:写允许控制信号输入引脚,低电平有效,即当其为低电平(WE=0)时,进行写操作;否则,就进行读操作。DIN:数据信息输入引脚。DOUT:数据信息输出引脚。VDD:+5V电源输入引脚。Vss:接地。NC:未用的引脚。3.2164A的工作方式与时序(1)读操作。在对2164A的读操作过程中,首先接收来自CPU的行列地址信号,译码后选中相应的存储单元,将保存的一位信息经DOUT数据输出,送到系统数据总线上。2164A的读操作时序如图4-18所示。图4-182164A读操作的时序

3.2164A的工作方式与时序(2)写操作。2164A的写操作时序如图5-19所示。其写操作过程与读操作过程基本类似。区别是写信号WE为低电平有效,将要写入的数据从DIN写入。图4-19Intel2164A写操作时序

2164数据的读出和写入是分开的,由WE控制读写,当WE为高电平时读出,即所选中单元的内容经过三态输出缓冲器在DOUT引脚读出。当WE为低电平时实现写入,DIN引脚上的信号经输入三态缓冲器对选中单元进行写入。2164没有片选信号,实际上用行选通信号RAS作为片选信号。(3)刷新操作。所谓刷新,就是每隔一定时间(一般每隔2ms)就对DRAM的所有单元进行读出,经读出放大器放大后再重新写入原电路中,以维持存储电容上的电荷,从而使所存信息保持不变。虽然每次进行的正常读/写存储器的操作也相当于进行了刷新操作,但由于CPU对存储器的读/写操作是随机的,并不能保证在2ms时间内能对内存中所有单元都进行一次读/写操作,以达到刷新效果。所以,对DRAM必须设置专门的外部控制电路和安排专门的刷新周期来系统地对DRAM进行刷新。2164A的刷新时序如图4-20所示。刷新是按行进行的。在进行刷新操作时,行选通信号RAS有效,列选通信号CAS无效。芯片只接收从地址总线上发来的行地址(其中RA7不起作用),7位行地址RA6~RA0送到行译码器,译码得到的刷新地址同时加到4个存储矩阵上,刷新时一次选中一行512个存储电路,对选中的行在内部读出并回写,实现对内部电容的充电,达到保存数据的目的。由于刷新时CAS无效,因此不会有数据输出发生。图4-202164A刷新操作时序

4.静态存储器和动态存储器芯片特性比较静态存储器和动态存储器芯片特性比较如表4-2所示。

表4-2静态存储器和动态存储器芯片特性比较4.3只读存储器(ROM)只读存储器(ROM)的信息在运行时是不能被改变的,只能读出,不能写入。突然掉电后信息不丢失,具有非易失性,故常用来存放一些固定程序及数据常数,如监控程序、IBMPC中的BIOS程序等。ROM比RAM的集成度高,成本低,在不断地发展变化中,ROM器件出现了掩模ROM、PROM、EPROM、EEPROM等各种不同类型。4.3.1掩模ROM掩模ROM的信息是在芯片制造时由厂家写入的,一旦成为产品,其信息是无法修改的。因此,掩模ROM在出厂时内部存储的数据就已经“固化”在里边了。图4-21是一个简单的4×4位的MOSROM存储阵列,采用单译码方式。有两位地址输入A0、A1,译码后输出4条字选择线,每条字选择线选中一个字,每个字为4位。在行和列的交点,有的连有MOS管,有的没有,这是厂家根据用户提供的程序对芯片图形进行二次光刻所决定的。若有MOS管与其相连,则相应的MOS管就导通,这些位线的输出就是低电平,表示逻辑“0”;而没有MOS管与其相连的位线,输出的就是高电平,表示逻辑“1”。图4-214×4位的掩模ROM存储阵列4.3.2可编程ROM(PROM)掩模ROM存储单元的信息在出厂时就已经固定下来了,用户无法修改,给使用者带来了不便。PROM可解决这个矛盾。PROM是一种允许用户编程一次的ROM,其存储单元通常用二极管或晶体管实现。PROM在出厂时,其存储单元的内容为全1或全0,用户可以根据自己的需要,在通用或专用的编程器上将某些单元改写为0或者1。图4-22所示为一种熔丝式PROM结构示意图,它是采用双极型晶体管作存储单元,管子的发射极上连接了可熔性金属丝,也称为“熔丝式”PROM。出厂时,管子将位线与字选线连通,所有熔丝都是接通的,表示存有0信息。如要使某些单元改写为1,只需通过编程,给这些单元通以足够大的电流将熔丝烧断即可。这个写入的过程称之为固化程序。熔丝烧断后不能恢复,因此,PROM只能进行一次编程。图4-22熔丝式PROM结构示意图

4.3.3可擦除可编程ROM(EPROM)虽然PROM可以实现一次编程,但在很多应用场合,需要对程序进行多次修改,这就要求存储芯片能多次重复擦除重复编程。EPROM是广泛应用的可擦除可重写的只读存储器。在其芯片的顶部开有一个石英玻璃的窗口,当内容需要改变时,可通过紫外线擦除器对窗口照射15-20min(视具体型号而异)后,擦除原有信息,使存储单元的内容恢复为初始状态FFH,从而擦除了写入的信息。之后,用专门的编程器(或称烧写器)把程序重新写入。编程后,应在其照射窗口贴上不透光封条,以避免存储电路中的电荷在日光照射下缓慢泄露,使信息能长期保存。EPROM通常用于系统的开发阶段,由于它可擦除,故可反复使用。1.基本存储电路EPROM基本存储单元的结构和工作原理如图4-23所示。

图4-23EPROM基本存储单元的结构示意图

2.编程和擦除EPROM的编程过程实际上就是对某些单元写入0的过程,也就是向有关的FAMOS管的浮置栅注入电子的过程。采用的办法是:在漏极和源极之间加上约25V的反向电压,同时加上编程脉冲信号(宽度约为50ns),则漏极与源极瞬时产生雪崩式击穿,一部分电子在强电场作用下通过绝缘层注入到浮栅中。当高电压撤除后,由于浮栅被SiO2绝缘层包围,所以注入的电子无泄漏通道,负电荷仍保留在栅极上,从而使相应单元导通,表明将0写入了该单元。擦除的原理与编程相反,通过向浮管置栅上的电子注入能量,使得它们逃逸。擦除存储单元中保存的信息必须用一定波长的紫外光对准芯片窗口,在近距离内连续照射15-20min,使负电荷获取足够的能量,形成光电流流入基片,使浮栅恢复初态不再带有电荷,原来存储的信息也就不存在了。4.3.4电可擦除可编程ROM(EEPROM)

EPROM的优点是芯片可多次重复编程,但编程时必须把芯片从电路板上取下,用专门的编程器进行编程,并且是对整块芯片编程,不能以字节为单位擦写。这在实际使用时很不方便,所以在很多情况下需要使用EEPROM。EEPROM与EPROM不同,在擦除和编程写入时,不需要从系统中取下,直接可用电气方式在线编程和擦除;并且是按字节进行编程和擦除。EEPROM基本存储电路的结构示意图如图4-24所示。其工作原理与EPROM类似,也是采用浮栅技术的可编程存储器。与EPROM相比,EEPROM是用电擦除,擦除的速度要快得多。图4-24EEPROM基本存储电路结构示意图

EEPROM电擦除的过程就是改写过程,可以按字节为单位进行,而不像EPROM需要整片擦除。EEPROM具有ROM的非易失性,又具备类似RAM的功能,可以随时改写(可重复擦写1万次以上)。目前,大多数EEPROM芯片内部都备有升压电路。因此,只需提供单电源供电,便可进行读、擦除/写操作,为数字系统的设计和在线调试提供了极大的方便。常用的典型芯片容量见下表。4.3.5Flash存储器(FlashMemory)

FlashMemory是一种新型的半导体存储器。和EEPROM相比,FlashMemory可实现大规模快速电擦除,编程速度快,断电后具有可靠的非易失性等特点,因此,一经问世就得到了广泛的应用。Flash存储器可重复使用,可以被擦除和重新编程几十万次而不会失效。在数据需要经常更新的可重复编程应用中,这一性能是非常重要的。FlashMemory展示出了一种全新的PC存储器技术。作为一种高密度、非易失的读写半导体技术,它特别适合作固态磁盘驱动器;或以低成本和高可靠性替代电池支持的静态RAM。

FlashMemory的主要特点为:1.固有的非易失性2.可直接执行3.经济的高密度4.固态性能4.3.6只读存储器芯片介绍1.Intel2716(EPROM)典型的EPROM芯片见下表。这些芯片可采用NMOS或CMOS两种工艺制造,若芯片名称中有字母C,表示是用CMOS工艺制造,如27C64。采用CMOS工艺制造的芯片功耗低。1)Intel2716芯片的内部结构Intel2716采用NMOS制造工艺,容量为2KB,为24脚双列直插式封装芯片,其内部结构框图如图4-25所示,主要组成部分如下。

存储阵列:Intel2716存储器芯片的存储阵列由2K×8个带有浮栅的MOS管构成,共可保存2K×8位二进制信息。

行译码器:又称为X译码器,可对7位行地址进行译码。

列译码器:又称为Y译码器,可对4位列地址进行译码。

输出允许、片选和编程逻辑:实现片选及控制信息的读、写。

数据输出缓冲器:实现对输出数据的缓冲。

(a)内部结构图(b)引脚图图4-25Intel2716芯片的内部结构及引脚图2)2716芯片的外部结构Intel2716芯片具有24个引脚,其引脚分配如图4-25(b)所示,各引脚的功能如下。Al0~A0:11根地址线,输入。可寻址片内的2KB个存储单元。D7~D0:8位数据线。正常工作时为数据输出线,编程时为数据输入线。

CE:片选信号,输入。低电平有效,当CE为低电平时,表示选中该芯片。

OE:数据输出允许信号,输入。低电平有效,用以允许数据输出。Vpp:编程电压输入。编程时在该引脚上加编程电压,不同芯片其Vpp不同,可以是+12.5V、+25V等。Vcc:+5V电源。GND:地。

3)2716的工作方式与操作时序2716有6种工作方式,见表4-3。前3种Vpp接+5V,为正常工作状态;后3种Vpp接+25V,为编程工作状态。

(1)读方式:这是2716正常的工作方式,也是其在微机系统中的主要工作方式。(2)备用方式:当CE为高电平时,2716工作在备用方式,输出为高阻态。此时芯片功耗下降。(3)读出禁止方式:当OE为高电平且CE为低电平时,2716存储单元的内容被禁止读出,输出为高阻态。(4)编程写入方式:该方式下Vcc接+5V电源,Vpp接+25V电源,OE=1,从OE引脚输入宽度约为45ms的编程正脉冲,即可将字节数据写入到相应的存储单元。(5)编程校验方式:为了检查写入的数据是否正确,2716提供了两种校验方式。一是可以在编程过程中按字节进行校验,另一种方式是在编程结束后,对所有数据进行校验。校验时Vcc=+5V,Vpp=+25V,OE=0,CE=0。(6)编程禁止方式:该方式主要用于对多块2716同时编程的场合,通过控制编程正脉冲来实现。当某块2716编程禁止时,OE=1,CE=0,数据线为高阻态。2.典型的EEPROM芯片1)98C64A的引脚及功能NMC98C64A为8K×8位的EEPROM,其引脚如图4-27所示。其中:(1)A0~A12:为13条地址线,用于选择片内的8K个存储单元。(2)D0~D7:为8条数据线。(3)CE:为选片信号。低电平有效。当CE=0时选中该芯片。(4)OE:为输出允许信号。当CE=0,OE=0,WE=l时,可将选中的地址单元的数据读出。这与6264很相似。(5)WE:是写允许信号。当CE=0,OE=l,WE=0时,可以将数据写入指定的存储单元。(6)READY/BUSY:是状态输出端。98C64A正在执行编程写入时,此管脚为低电平。写完后,此管脚变为高电平。因为正在写入当前数据时,98C64A不接收CPU送来的下一个数据,所以CPU可以通过检查此管脚的状态来判断写操作是否结束。图4-27NMC98C64A引脚图

2)98C64A的工作过程98C64A的工作过程同样包括3部分,即数据读出、编程写入和擦除。(1)数据读出:从EEPROM读出数据的过程与从EPROM及RAM中读出数据的过程是一样的。当CE=0,OE=0,WE=l时,只要满足芯片所要求的读出时序关系,则可从选中的存储单元中将数据读出。(2)数据写入:将数据写入98C64A有两种方式。①字节写入方式是一次写入一个字节的数据。但写完一个字节之后,并不能立刻写下一个字节,而是要等到READY/BUSY端的状态由低电平变为高电平后,才能开始下一个字节的写入。这是EEPROM芯片与RAM芯片在数据写入上的一个很重要的区别。98C64A的编程时序如图4-28所示。从图中可以看出,当CE=0,OE=0时,只要在WE端加上100ns的负脉冲,便可以将数据写入指定的地址单元。

②自动页写入方式:页编程的基本思想是一次写完一页,而不是只写一个字节。每写完一页判断一次READY/BUSY端的状态。在98C64A中,一页数据为1~32个字节,要求这些数据在内存中是连续排列的。98C64A的高位地址线A12~A5

用来决定访问哪一页数据,低位地址A4~A0

用来决定寻址一页内所包含的32个字节。因此将Al2~A5

称为页地址。其写入的过程是:利用软件首先向EEPROM98C64A写入页的一个数据,并在此后的300µs内,连续写入本页的其他数据,再利用查询或中断检查READY/BUSY端的状态是否已变高,若变高,则表示这一页的数据已写结束,然后接着开始写下一页,直到将数据全部写完。

(3)擦除:擦除和写入是同一种操作,只不过擦除总是向单元中写入“FFH”而已。EEPROM的特点是一次既可擦除一个字节,也可以擦除整个芯片的内容。如果需要擦除一个字节,其过程与写入一个字节的过程完全相同,写入数据FFH,就等于擦除了这个单元的内容。若希望一次将芯片所有单元的内容全部擦除干净,可利用EEPROM的片擦除功能,即在D0~D7

上加上FFH,使CE=0,WE=0,并在OE引脚上加上+15V电压,使这种状态保持10ms。就可将芯片所有单元擦除干净。EEPROM98C64A有写保护电路,加电和断电不会影响芯片的内容。写入的内容一般可保存10年以上。每一个存储单元允许擦除/编程上万次。3.典型的闪存芯片TMS287040(16×32KB)1)TMS28F040的引脚功能28F040的外部引脚如图4-29所示。A0~A18:为19条地址线,用于选择片内的512K个存储单元。DQ0~DQ7:为8条数据线。因为它共有19根地址线和8根数据线,说明该芯片的容量为512K×8bit,28F040芯片将其512KB的容量分成l6个32KB的块,每一块均可独立进行擦除。E:是芯片写允许信号,在它的下降沿锁存选中单元的地址,用上升沿锁存写入的数据。

G:为输出允许信号,低电平有效。VCC:+5V电源输入引脚。VPP:编程电压输入引脚。Vss:接地。图4-29TMS28F040的外部引脚图

2)TMS28F040的工作过程28F040与普通EEPROM芯片一样也有3种工作方式,即读出、编程写入和擦除。但也有所不同,TMS28F040是通过向内部状态寄存器写入命令的方法来控制芯片的工作方式,对芯片所有的操作必须要先往状态寄存器中写入命令。另外,TMS28F040的许多功能需要根据状态寄存器的状态来决定。要知道芯片当前的工作状态,只需写入命令70H,就可读出状态寄存器各位的状态了。状态寄存器各位的含义如表4-4所示。

表4-4TMS28F040状态寄存器各位的含意(1)读操作:读操作包括读出芯片中某个单元的内容、读出内部状态寄存器的内容以及读出芯片内部的厂家及器件标记三种情况。如果要读某个存储单元的内容,则在初始加电以后或在写入命令00H(或FFH)之后,芯片就处于只读存储单元的状态。这时就和读SRAM或EPROM芯片一样,很容易读出指定的地址单元中的数据。此时的VPP(编程高电压端)可与VCC(+5V)相连。(2)编程写入:编程方式包括对芯片单元的写入和对其内部每个32KB块的软件保护。软件保护是用命令使芯片的某一块或某些块规定为写保护,也可置整片为写保护状态,这样可以使被保护的块不被写入的新内容给擦除。比如,向状态寄存器写入命令0FH,再送上要保护块的地址,就可置规定的块为写保护。若写入命令FFH,就置全片为写保护状态。(3)擦除方式:28F040既可以每次擦除一个字节,也可以一次擦除整个芯片,或根据需要只擦除片内某些块,并可在擦除过程中使擦除挂起和恢复擦除。4.4半导体存储器的扩展在微机系统中,存储器通过总线与CPU相连。CPU对存储器进行读写操作时,首先是由地址总线给出地址信号,选择要进行读/写操作的存储单元,然后通过控制总线发出相应的读/写控制信号,最后才能在数据总线上进行数据交换。所以,存储器芯片与CPU之间的连接,实质上就是与其数据总线、地址总线和控制总线这3种系统总线的连接。4.4.1存储器的接口设计需要注意的问题在连接设计中一般要考虑的问题有以下几个方面。1.CPU总线的负载能力2.CPU的时序和存储器的存取速度之间的配合问题3.片选和存储器的地址分配问题4.读、写控制信号的连接问题4.4.2存储器的扩展技术由于存储器单个芯片的容量有限,在构成实际的存储器时,单个芯片往往不能满足存储器位数(数据线的位数)或字数(存储单元的个数)的要求,需要用多个存储芯片进行组合,以满足对存储容量的要求。这种组合称为存储器的扩展,通常有位扩展、字扩展和字位同时扩展3种方式。

1.位扩展在微机中,存储器的大小通常是按字节来度量的。如果一个存储芯片不能同时提供8位数据,就必须把几块芯片组合起来使用,这就是存储器芯片的“位扩展”。现在的微机可以同时对存储器进行64位的存取,这就需要在8位的基础上再次进行“位扩展”。位扩展把多个存储芯片组成一个整体,使数据位数增加,但单元个数不变。经位扩展构成的存储器,每个单元的内容被存储在不同的存储器芯片上。位扩展构成的存储器在电路连接时采用的方法是:将每个存储器芯片的数据线分别接到系统数据总线的不同位上,地址线和各类控制线(包括选片信号线、读/写信号线等)则并联在一起。【例4.1】用1KB×4的2114芯片构成lKB×8的存储器系统。由于每个芯片的容量为1KB,故满足存储器系统的容量要求。但由于每个芯片只能提供4位数据,故需用2片这样的芯片,它们分别提供4位数据至系统的数据总线,以满足存储器系统的字长要求。电路的设计如下:①每个芯片的10位地址线按引脚名称一一并联,按次序接到系统地址总线的低10位。②数据线按芯片编号连接,1号芯片的4位数据线依次接至系统数据总线的D0~D3,2号芯片的4位数据线依次接至系统数据总线的D4~D7。③两个芯片的WE端并联,接到系统控制总线的存储器写信号。例如CPU为8086/8088,可由WR和IO/M或IO/M的组合来承担。④片选信号CS并联后接至地址译码器的输出端,而地址译码器的输入则由系统地址总线的高位来承担。具体连线如图4-30所示。图4-30位扩展电路连接图根据硬件连线图,可以分析出该存储器的地址分配范围,见表4-5(假设只考虑16位地址)。

2.字扩展字扩展是对存储器容量的扩展。存储器芯片的字长符合存储器系统的要求,但其容量太小,即存储单元的个数不够,需要增加存储单元的数量。例如,用16KB×8的EPROM2716A存储器芯片组成64KB×8的存储器系统。由于每个芯片的字长为8位,故满足存储器系统的字长要求。但每个芯片只能提供4KB个存储单元,故需用2片这样的芯片,以满足存储器系统的容量要求。字扩展构成的存储器在电路连接时采用的方法是:将每个存储芯片的数据线、地址线、读写等控制线与系统总线的同名线相连,仅将各个芯片的片选信号分别连到地址译码器的不同输出端,用片选信号来区分各个芯片的地址。【例4.2】用2KB×8的2716A存储器芯片组成8KB×8的存储器系统。由于2716A芯片的字长为8位,故满足存储器系统的字长要求。但由于每个芯片只能提供2KB个存储单元,所以要构成容量为8KB的存储器,需要8KB/2KB=4片2716A,以满足存储器系统的容量要求。电路的设计如下:①每个芯片的11位地址线按引脚名称一一并联,然后按次序与系统地址总线的低11位相连。②每个芯片的8位数据线依次接至系统数据总线的D0~D7。③4个芯片的OE端并联后接到系统控制总线的存储器读信号,它们的CE引脚分别接至地址译码器的不同输出端,地址译码器的输入则由系统地址总线的高位来承担。硬件连线如图4-31所示。

图4-31用2716A构成8KB的存储器从图中可以看出,高位地址经译码器得到译码信号,分别选中不同的芯片,低位地址则同时到达每个芯片以选中相应单元。在读信号的作用下,选中芯片的数据被读出,送上系统数据总线,产生一个字节的输出。各芯片的地址范围见表4-6。3.字位同时扩展字位同时扩展是从存储芯片的位数和容量两个方面进行扩展。在构成一个存储系统时,如果存储器芯片的字长和容量均不符合存储器系统的要求,此时需要用多个芯片同时进行位扩展和字扩展,以满足系统的要求。进行字位扩展时,通常是先做位扩展,按存储器字长要求构成芯片组,再对这样的芯片组进行字扩展,使总的存储容量满足要求。【例4.3】用Intel2114芯片构成容量为2KB的存储器系统。由于Intel2114芯片的容量为1KB×4,字长为4位,因此首先要采用位扩展的方法,用两片芯片组成1KB×8的芯片组,再对芯片组采用字扩展的方法来扩充容量,需要2组芯片组构成2KB的容量。硬件连线如图4-32所示。图中,4片2114分为2组,每组芯片的4位数据线分别接到数据总线D7~D0的高低4位,地址线和读写线按信号名称并联在一起。每组芯片的片选端CE并联起来分别与译码器的输出端连接。图4-32用2114组成2KB的存储器根据硬件连线图,该存储器的地址分配范围见表4-7。【例4.4】用Intel2164构成容量为128KB的DRAM内存。微机中内存的构成是字位扩展的一个实例。由于存储器芯片生产厂制造出的存储器芯片的字长通常都是1位的,如64MB×1,128MB×1等;所以内存条生产厂要用位扩展的方法将若干个芯片组装成内存模块(即内存条),如用8片64MB×1的芯片组成64MB的内存条;再根据系统配置的内存容量不同,选择合适数目的内存条插到主板上构成内存,即字扩展。内存扩展的次序一般是先进行位扩展,以构成满足字长要求的内存模块,然后再用若干个这样的模块进行字扩展,完成字位扩展,使总容量满足要求。Intel2164是64KB×1的芯片,所以首先要进行位扩展,用8片2164组成64KB的芯片组、然后再用两组这样的芯片组进行字扩展。所需的芯片数为(128/64)×(8/1)=16片。要寻址128KB个内存单元至少需要17位地址信号线(217=128KB)。而Intel2164有64KB个单元。需要16根地址信号线(分为行和列),余下的1根地址线用于区分两个64KB的存储模块。电路连接如图4-33所示。图4-33用Intel2164构成容量为128KB的DRAM内存

存储器容量的扩展可遵循以下步骤:(1)根据存储器容量选择合适芯片。(2)若存储器芯片的位数不满足要求,则将芯片多片并联进行位扩展,构成满足字长要求的芯片组。(3)对芯片组进行字扩展,设计出满足要求的存储器。4.4.3存储器的地址译码

存储器地址译码电路不同,CPU访问的存储器地址也不同。当CPU对存储单元进行访问时,发出的地址信号要实现两种选择,首先是对存储器芯片的选择,使相关芯片的片选端有效,称为片选;之后在选中的芯片内部再选择某一存储单元,称为字选。片选信号和字选信号均由CPU发出的地址信号经译码电路产生。而选择内部存储单元的字选信号则是CPU的低位地址线经存储器芯片的内部译码电路产生,这部分译码电路不需用户设计。而片选信号是由CPU的高位地址线经外部译码器译码产生,通常所说的译码电路也是用来产生片选信号的。片选信号的产生方法通常有线选法、部分译码法和全译码法

3种。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论