主存储器设计.docx
《主存储器设计.docx》由会员分享,可在线阅读,更多相关《主存储器设计.docx(7页珍藏版)》请在冰豆网上搜索。
![主存储器设计.docx](https://file1.bdocx.com/fileroot1/2023-1/3/46a49ba2-46d1-488d-bc83-43d1557de1d1/46a49ba2-46d1-488d-bc83-43d1557de1d11.gif)
主存储器设计
主存储器设计
半导体存储器是构成现代计算机主存储器的主要存储介质,在进行计算机主存储器设计时,主要要考虑以下几方面的因素:
·存储器芯片的选择,半导体存储器芯片种类繁多,在选择存储器芯片构成机器主存储器时,应根据需要合理选择。
·CPU与存储器的速度匹配,机器的性能是由多方面的因素决定的,其中CPU访存速度是影响机器性能的关键因素之一,高性能CPU需要高速的存储器相匹配。
·存储器与CPU的信号连接,主要包括数据信号线、地址信号线和控制信号线的连接等。
1.半导体存储器芯片
半导体存储器芯片的性能主要体现在两个方面:
一是芯片的容量,二是芯片的存取速度。
存储器芯片的容量可以表征为以下形式:
容量=字数×位数
其中,字数表示存储器芯片所具有的字单元数,而位数则表示每一个字单元所具有的位单元数。
例如,静态RAM芯片2114的容量为:
1K×4位,则表示该芯片共有1024个字单元,每个字单元的位数为4位,也就是说,对2114的访问,一次可同时读/写4位。
再如,只读存储器ROM芯片2716的容量为:
2K×8位,则表示该芯片共有2048个字单元,每个字单元的位数为8位,也就是说,对2716的访问,一次可以并行读出8位。
半导体存储器芯片是通过引出脚与外部连接的。
引出脚主要包括四类:
数据引脚、地址引脚、控制引脚和电源及接地引脚。
图4-13(a)、(b)、(c)分别给出的是三种芯片256K位的SRAM、16M位的DRAM和8M位的EPROM的引脚图。
对图(a)的SRAM芯片来说,各引脚的功能如下:
·引脚A0~A14:
15条地址信号线,用于访问215=32K的字单元,该地址是CPU访存时给出,所以对存储器芯片来说,地址线是单向输入。
·引脚I/O0~I/O7:
8条数据信号线。
CPU对存储器进行读操作时,数据的流向是从存储器到CPU,CPU对存储器进行写操作时,数据的流向是从CPU到存储器,故数据信号线为输入输出双向。
·引脚CE:
为片选控制信号线。
当CPU访存时,必须在这个引脚上加载一个有效信号,才能使存储器芯片工作。
·引脚WE:
读写控制信号。
当CPU对芯片进行写操作时,在该引脚上加载一个低电平信号;当对芯片进行读操作时,在该引脚上加载一个高电平信号。
·引脚OE:
输出允许控制信号。
当对芯片进行读操作时,还必须将此信号置为有效。
·引脚Vcc和GND:
分别为芯片的工作电源和接地线。
对图(b)的DRAM芯片来说,各引脚的功能如下:
·引脚A0~A10:
11条地址信号线。
很多DRAM芯片地址引脚数往往是实际所需地址信号线的一半,本芯片就属于这种情况。
本来4M的字单元需要22条地址线(222=4M),但该芯片只有一半11条地址引脚。
当CPU对该芯片进行读写操作时,其地址经外围电路分为高11位行地址和低11位列地址分先后送到芯片的地址端,并分别锁存到芯片内部的行、列地址锁存器中。
·引脚D1~D4:
4条数据信号线,在标注上与上一芯片稍有不同。
·引脚RAS、CAS:
分别用于行、列地址的锁存控制。
·引脚CE、OE和WE:
同上。
图(c)的EPROM芯片的引脚与上述两个芯片的基本类似,只是多出了一个电源Vpp,该电源引脚主要用于对芯片进行编程改写时加载一个25V的电压,使之在特殊条件下进行改写操作。
在有些场合,为突出芯片的引脚功能,也常常给出它们的引脚符号图,例如我们前面讲到的静态RAM芯片2114和动态RAM芯片2116的引脚符号图如图4-14所示。
2.半导体存储器读写周期
前面已经提到,在选择存储器芯片构成计算机主存储器时,要考虑CPU与存储器之间的速度匹配。
存储器在出厂时,其存取速度就已经确定,厂家在对芯片的有关技术说明中会给出其存取速度的相关技术参数,这一技术参数主要是通过存储器的读写周期(又称为存储周期)来反映的,而读写周期是通过波形图(又称时序图)来体现的。
下面以静态RAM芯片2114为例对存储器的读写周期加以说明。
2114的读周期波形图如下图所示。
其中,读周期时间tRC就是指CPU对2114芯片进行读操作所需要的时间,这一时间一方面说明,若要从2114中读取一个字单元,至少需要经过tRC的时间;另一方面说明,若要完成对2114的正确读操作,CPU加载在2114芯片地址引脚上的地址信号需要至少维持tRC的时间。
时间tA表示2114在CPU加载的地址有效后,经过tA时间后可以将数据读出到数据线上。
另外,为使芯片工作,片选信号CS还必须紧跟地址信号之后产生,且应在数据有效读出的tCX时间之前给出,且必须维持至少tCO的时间。
CPU是通过一个读周期来完成对存储器的读操作的,在读周期产生的地址、控制等信号只有满足以上时序要求,才能保证读操作的正确性。
因此,在进行机器硬件系统设计时,一方面要保证逻辑电路设计的正确性,另一方面还要保证时序设计的正确性,两者缺一不可。
2114的写周期波形图如下图所示。
其中,写周期时间tWC就是指CPU对2114芯片进行写操作所需要的时间,也就是说,若要向2114中写入一个字单元,需要至少tWC的时间。
一般来讲,半导体存储器的读周期时间和写周期时间是相同的,这一时间就是存储器芯片的存取时间。
存取时间越小,存储器的速度就越快;反之,存取时间越大,存储器的速度也就越慢。
3、存储器芯片与CPU的连接
在构成计算机主存储器时,还需要根据机器容量的要求和所选用的半导体存储器芯片容量的情况进行综合设计。
当单片存储器芯片的容量不能直接满足主存储器容量的要求时,需要选择多片进行容量扩展连接,以构成主存储器模块。
下面我们分三种情况介绍存储器的容量扩展连接。
(1)位扩展连接
设主存储器的容量为M×N位,而选用的存储器芯片的容量为M×n位,其中,N是n的整数倍。
在这种情况下,单片存储器芯片的字单元数与主存储器的相同,但每个字单元的位数不能满足主存储器的要求。
这时,需要进行一种位扩展连接,使用N/n片芯片并联起来,如图4-17所示。
具体连接方法是:
·所有芯片的地址线A对应连接在一起;
·所有芯片的片选信号线CE对应连接在一起;
·所有芯片的读写WE线对应连接在一起;
·每个芯片的数据线各自单独引出。
采用这种方式连接后,每一次CPU来的地址同时选中所有芯片的同一个字单元,且地址线数未增加,也就意味着整个存储体的字数为M;CE同时选中所有芯片工作,而WE同时使所有芯片读或写;最后,由于各芯片的数据线是单独引出的,被同时选中的芯片各自有n条数据线引出,加起来正好N条,若我们将这N/n个芯片看成是一个整体,那么其容量就是M×N位,正好符合主存储器的要求。
下面我们举一个例子进一步说明位扩展连接的存储器芯片与CPU的连接。
【例4.1】使用一种64M×4位的存储器芯片构成64M×16的主存储器,并与一个16位的CPU连接。
解:
64M×4位的存储器芯片构成64M×16的主存储器需要的芯片数为16/4=4片,并进行位扩展连接,如下图4-18所示。
(2)字扩展连接
字扩展连接的情况是:
设主存储器的容量为M×N位,而选用的存储器芯片的容量为m×N位,其中,M是m的整数倍。
在这种情况下,单片存储器芯片的字单元位数与主存储器的相同,但每个芯片的字单元数不能满足主存储器的要求。
这时,需要进行一种字扩展连接,使用M/m片芯片连接起来,如图4-19所示。
具体连接方法是:
·所有芯片的地址线A与CPU的低位对应地址线连接在一起;
·所有芯片的数据线对应连接在一起;
·所有芯片的读写WE线对应连接在一起;
采用这种方式连接后,由于所有芯片的数据线是并联在一起的,所以数据位数不变,每次读写的为N位;CPU来的低位地址同时选中所有芯片的同一个字单元,再由高位译码产生的片选信号CE一次选中一个芯片工作,WE控制被选中的芯片读或写,共有M/m个容量为m×N位的芯片,总容量就是M×N位,正好符合主存储器的要求。
下面举一个例子进一步说明字扩展连接的存储器芯片与CPU的连接。
【例4.2】使用一种16M×16位的存储器芯片构成64M×16的主存储器,并与一个16位的CPU连接。
解:
16M×16位的存储器芯片构成64M×16的主存储器需要的芯片数为16/4=4片,并进行字扩展连接,如下图4-20所示。
其中,CPU的地址线A0~A13与每个芯片的对应地址线连接,A14和A15则用于译码,产生对四个芯片的片选控制信号,且这四个片选信号同时只有一个为有效,选中一个芯片工作。
CPU的数据线D0~D15与每个芯片的对应数据线连接。
(3)字位扩展连接
字位扩展连接的情况是:
设主存储器的容量为M×N位,而选用的存储器芯片的容量为m×n位,其中,M、N分别是m、n的整数倍。
在这种情况下,单片存储器芯片的字单元数和字单元的位数均不能满足主存储器的要求。
这时,需要进行一种字位扩展连接,使用(M/m)×(N/n)个芯片连接起来,连接方法就是将以上两种情况结合起来考虑。