6.4 存储器的扩展 6.4.1 存储芯片的扩展 存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。 1.位扩展 6.4 存储器的扩展 6.4.1 存储芯片的扩展 存储芯片的扩展包括位扩展、字扩展和字位同时扩展等三种情况。 1.位扩展 位扩展是指存储芯片的字(单元)数满足要求而位数不够,需对每个存储单元的位数进行扩展。图6.17给出了使用8片8 K1的RAM芯片通过位扩展构成8K8的存储器系统的连线图。
图6.17 用8K1位芯片组成8K8位的存储器
由于存储器的字数与存储器芯片的字数一致,8 K=213,故只需13根地址线(A12A0)对各芯片内的存储单元寻址,每一芯片只有一条数据线,所以需要8片这样的芯片,将它们的数据线分别接到数据总线(D7D0)的相应位。在此连接方法中,每一条地址线有8个负载,每一条数据线有一个负载。位扩展法中,所有芯片都应同时被选中,各芯片CS端可直接接地,也可并联在一起,根据地址范围的要求,与高位地址线译码产生的片选信号相连。对于此例,若地址线A0A12上的信号为全0,即选中了存储器0号单元,则该单元的8位信息是由各芯片0号单元的1位信息共同构成的。 可以看出,位扩展的连接方式是将各芯片的地址线、片选CS、读/写控制线相应并联,而数据线要分别引出。
2.字扩展 字扩展用于存储芯片的位数满足要求而字数不够的情况,是对存储单元数量的扩展。图6.18给出了用4个16 K8芯片经字扩展构成一个64K8存储器系统的连接方法。 图6.18 有16 K8位芯片组成64 K8位的存储器
图中4个芯片的数据端与数据总线D7D0相连;地址总线低位地址A13A0与各芯片的14位地址线连接,用于进行片内寻址;为了区分4个芯片的地址范围,还需要两根高位地址线A14、A15经2–4译码器译出4根片选信号线,分别和4个芯片的片选端相连。各芯片的地址范围见表6.6。
表6.6 图6.16中各芯片地址空间分配表 地址 片号 A15A14 A13A12A11…A1A0 说明 1 00 000…00 表6.6 图6.16中各芯片地址空间分配表 A15A14 A13A12A11…A1A0 说明 1 00 000…00 111…11 最低地址(0000H) 最高地址(3FFFH) 2 01 最低地址(4000H) 最高地址(7FFFH) 3 10 最低地址(8000H) 最高地址(BFFFH) 4 11 最低地址(C000H) 最高地址(FFFFH) 地址 片号
可以看出,字扩展的连接方式是将各芯片的地址线、数据线、读/写控制线并联,而由片选信号来区分各片地址。也就是将低位地址线直接与各芯片地址线相连,以选择片内的某个单元;用高位地址线经译码器产生若干不同片选信号,连接到各芯片的片选端,以确定各芯片在整个存储空间中所属的地址范围。
3.字位同时扩展 在实际应用中,往往会遇到字数和位数都需要扩展的情况。 若使用lk位存储器芯片构成一个容量为MN位(M>l,N>k)的存储器,那么这个存储器共需要(M/l)(N/k)个存储器芯片。连接时可将这些芯片分成(M/l)个组,每组有(N/k)个芯片,组内采用位扩展法,组间采用字扩展法。 图6.19给出了用2114(1K4)RAM芯片构成4K8存储器的连接方法。
图6.19 字位同时扩展连接图
图中将8片2114芯片分成了4组(RAM1、RAM2、RAM3和RAM4),每组2片。组内用位扩展法构成1K8的存储模块,4个这样的存储模块用字扩展法连接便构成了4K8的存储器。用A9A0 10根地址线对每组芯片进行片内寻址,同组芯片应被同时选中,故同组芯片的片选端应并联在一起。本例用2–4译码器对两根高位地址线A10A11译码,产生4根片选信号线,分别与各组芯片的片选端相连。
6.4.2 存储器与CPU的连接 CPU对存储器进行访问时,首先要在地址总线上发地址信号,选择要访问的存储单元,还要向存储器发出读/写控制信号,最后在数据总线上进行信息交换。因此,存储器与CPU的连接实际上就是存储器与三总线中相关信号线的连接。 1.存储器与控制总线的连接 在控制总线中,与存储器相连的信号线为数不多,如8086/8088最小方式下的M/IO(8088为M/IO)、RD和WR,最大方式下的MRDC、MWTC、IORC和IOWC等,连接也非常简单,有时这些控制线(如M/IO)也与地址线一同参与地址译码,生成片选信号。
2.存储器与数据总线的连接 对于不同型号的CPU,数据总线的数目不一定相同,连接时要特别注意。 8086 CPU的数据总线有16根,其中高8位数据线D15D8接存储器的高位库(奇地址库),低8位数据线D7D0接存储器的低位库(偶地址库),根据BHE(选择奇地址库)和A0(选择偶地址库)的不同状态组合决定对存储器做字操作还是字节操作。图6.20给出了由两片6116(2K8)构成的2K字(4K字节)的存储器与8086 CPU的连接情况。 8位机和8088 CPU的数据总线有8根,存储器为单一存储体组织,没有高低位库之分,故数据线连接较简单。
图6.20 6116与8086 CPU的连接
图6.21 74LS138引脚
3.存储器与地址总线的连接 前面已经提到,对于由多个存储芯片构成的存储器,其地址线的译码被分成片内地址译码和片间地址译码两部分。片内地址译码用于对各芯片内某存储单元的选择,而片间地址译码主要用于产生片选信号,以决定每一个存储芯片在整个存储单元中的地址范围,避免各芯片地址空间的重叠。片内地址译码在芯片内部完成,连接时只需将相应数目的低位地址总线与芯片的地址线引脚相连。片选信号通常要由高位地址总线经译码电路生成。地址译码电路可以根据具体情况选用各种门电路构成,也可使用现成的译码器,如74LS138(3–8译码器)等。图6.21给出了74LS138的引脚图,表6.7为74LS138译码器的真值表。
表6.7 74LS138译码器真值表
片间地址译码一般有线选法、部分译码和全译码等方法。线选法是直接将某高位地址线接某存储芯片片选端,该地址线信号为1时选中所连芯片,然后再由低位地址对该芯片进行片内寻址。线选法不需外加逻辑电路,线路简单,但不能充分利用系统的存储空间,可用于小型微机系统或芯片较少时。全译码是除了地址总线中参与片内寻址的低位地址线外,其余所有高位地址线全部参与片间地址译码。全译码法不会产生地址码重叠的存储区域,对译码电路要求较高。部分译码是线选法和全译码相结合的方法,即利用高位地址线译码产生片选信号时,有的地址线未参加译码。这些空闲地址线在需要时还可以对其他芯片进行线选。部分译码会产生地址码重叠的存储区域。
图6.22 字位同时扩展连接图
表6.8 各组芯片的地址范围 芯 片 A15A10 A9A0 地址范围 RAM1 000000 0000000000 表6.8 各组芯片的地址范围 芯 片 A15A10 A9A0 地址范围 RAM1 000000 0000000000 1111111111 0000H 03FFH RAM2 000001 0400H 07FFH RAM3 000010 11111111111 0800H 0BFFH RAM4 000011 0C00H 0FFFH
6.5 几种新型存储器简介 1.闪速存储器(Flash Memory) 6.5 几种新型存储器简介 1.闪速存储器(Flash Memory) Flash存储器是1983年由Intel公司首先推出的,其商品化于1988年。就其本质而言,Flash存储器属于E2PROM类型,在不加电的情况下能长期保持存储的信息。F1ash存储器之所以被称为闪速存储器,是因为用电擦除且能通过公共源极或公共衬底加高压实现擦除整个存储矩阵或部分存储矩阵,速度很快,与E2PROM擦除一个地址(一个字节或16位字)的时间相同。
Flash存储器既有MROM和RAM两者的性能,又有MROM、DRAM一样的高密度、低成本和小体积。它是目前惟一具有大容量、非易失性、低价格、可在线改写和较高速度几个特性共存的存储器。同DRAM比较,F1ash存储器有两个缺点:可擦写次数有限和速度较慢。所以从目前看,它还无望取代DRAM,但它是一种理想的文件存储介质,特别适用于在线编程的大容量、高密度存储领域。 由于Flash存储器的独特优点,在一些较新的主板上采用Flash ROM BIOS,会使得BIOS升级非常方便,在Pentium 微机中已把BIOS系统驻留在Flash存储器中。Flash存储器亦可用做固态大容量存储器。由于Flash Memory集成度不断提高,价格降低,使其在便携机上取代小容量硬盘已成为可能。
2. 同步动态存储器SDRAM(Synchronous DRAM) SDRAM是同步动态存储器,又称为同步DRAM。SDRAM基于双存储体结构,内含两个交错的存储阵列,当CPU从一个存储体或阵列访问数据的同时,另一个已准备好读写数据。通过两个存储阵列的紧密切换,读取效率得到成倍提高。理论上速度可与CPU频率同步,与CPU共享一个时钟周期。SDRAM不仅可用做主存,在显示卡专用内存方面也有广泛应用。对显示卡来说,数据带宽越宽,同时处理的数据就越多,显示的信息就越多,显示质量也就越高。SDRAM也将应用于一种集成主存和显示内存的结构——共享内存结构(UMA)当中。许多高性能显示卡价格昂贵,就是因为其专用显示内存成本极高,UMA技术利用主存作显示内存,不再需要增加专门的显示内存,因此这种结构在很大程度上降低了系统成本。
3.双数据传输率同步动态随机存储器DDR DRAM(Double Data Rate DRAM) 在同步动态读写存储器SDRAM的基础上,采用延时锁定环(Delay-1ocked Loop)技术提供数据选通信号对数据进行精确定位,在时钟脉冲的上升沿和下降沿都可传输数据(而不是第一代SDRAM仅在时钟脉冲的下降沿传输数据,“DDR”即“双数据率”的意思),这样就在不提高时钟频率的情况下,使数据传输率提高一倍。由于DDR DRAM需要新的高速时钟同步电路和符合JEDEC标准的存储器模块,所以主板和芯片组的成本较高,一般只能用于高档服务器和工作站上。GeForce 256显卡大量采用了DDR存储器做显存,显示效果成倍提升。
4.接口动态随机存储器DRDRAM(Direct Rambus DRAM) 从1996年开始,Rambus公司就在Intel公司的支持下制定出新一代RDRAM标准,这就是DRDRAM。它与传统DRAM的区别在于引脚定义会随命令而变,同一组引脚线可以被定义成地址线,也可以被定义成控制线。其引脚数仅为正常DRAM的1/3。当需要扩展芯片容量时,只需要改变命令,不需要增加芯片引脚。这种芯片可以支持400 MHz外频,再利用上升沿和下降沿两次传输数据,可以使数据传输率达到800 MHz。同时通过把单个内存芯片的数据输出通道从8位扩展成16位,这样在100 MHz时就可以使最大数据输出率达到1.6 GB/s。
5.带高速缓存动态随机存储器CDRAM(Cached DRAM) CDRAM是日本三菱电气公司开发的专有技术,通过在DRAM芯片上集成一定数量的高速SRAM作为高速缓冲存储器Cache和同步控制接口,来提高存储器的性能。这种芯片使用单一的+3 V电源,低压TTL输入输出电平。目前三菱公司可以提供的CDRAM为4 MB和16 MB版本,其片内Cache为16 KB,与128位内部总线配合工作,可以实现100 MHz的数据访问。流水线式存取时间为7 ns。
6.虚拟通道存储器VCM(Virtual Channel Memory) VCM由NEC公司开发,是一种新兴的“缓冲式DRAM”,该技术将在大容量SDRAM中采用。它集成了所谓的“通道缓冲”,由高速寄存器进行配置和控制。在实现高速数据传输(即“带宽”增大)的同时,VCM还维持着与传统SDRAM的高度兼容性,所以通常也把VCM内存称为VCM SDRAM。在设计上,系统(主要是主板)不需要做大的改动,便能提供对VCM的支持。VCM可从内存前端进程的外部对所集成的这种“通道缓冲”执行读写操作。对于内存单元与通道缓冲之间的数据传输,以及内存单元的预充电和刷新等内部操作,VCM要求它独立于前端进程进行,即后台处理与前台处理可同时进行。由于专为这种“并行处理”创建了一个支撑架构,因而VCM能保持一个非常高的平均数据传输速度,同时不用对传统内存架构进行“大手笔”的更改。采用VCM后,系统设计人员不必再受限于目前令人捉襟见肘的内存工作方式,因为内存通道的运行与管理,都可移交给主板芯片组自己去解决。
7.快速循环动态存储器FCRAM(Fast Cycle RAM) FCRAM由富士通和东芝公司联合开发,数据吞吐速度可达普通DRAM/SDRAM的4倍。FCRAM将目标定位在需要极高内存带宽的应用中,比如业务繁忙的服务器以及3D图形及多媒体处理等。FCRAM最主要的特点便是行、列地址同时(并行)访问,而不像普通DRAM那样,以顺序方式进行(首先访问行数据,再访问列数据)。此外,在完成上一次操作之前,FCRAM便能开始下一次操作。为提高内存的数据吞吐速度,FCRAM和VCM采取了截然不同的两种方式。前者从内部入手,后者则“内外一齐抓”,在拓宽内存(存储)单元、芯片接口、内存控制器的带宽上下大功夫。FCRAM的开发计划自1999年2月初便已开始。按照富士通和东芝公司的协议,它们将联合开发64 MB、128 MB和256 MB的FCRAM。但和VCM、RDRAM内存技术不同的是,它面向的并不是PC机的内存,而是面向诸如显示内存等其他存储器。