1、存储体阵列:见下图,注意其中几个常用概念(1)记忆元件(2)存储单元(3)字线(4)位线(5)存储芯片规格。字线0。。。字线1。。。。。。。。。字线m位线0位线1位线2位线n012n-1012n-1012n-12、地址译码驱动系统(1)地址译码器的功能:把CPU给定的地址码翻译成能驱动指定存储单元的控制信息。(n----2ⁿ)(2)简单译码器电路(3)“驱动”的含义。(4)地址译码系统的设计——一维和二维地址译码方案及选择例:1KX4位RAM的地址译码方案。A0字线w00字线W01A1字线W10字线W11A0A0A1A1&&&&地址译码系统的设计例子:1KX4位RAM。一维地址译码方案:存储体阵列的每一个存储单元由一条字线驱动。也叫单译码结构。例中用此方案共需字线条数为:1024条二维地址译码方案:从CPU来的地址线分成两部分,分别进入X(横向)地址译码器和Y(纵向)地址译码器,由二者同时有效的字线交叉选中一个存储单元。例中将1KX4RAM的10条地址线中6条(A0~A5)用在横向,4条(A6~A9)用在纵向,则共产生字线条数为:64+16=80条1KX4位RAM二维地址译码的图示:X地址译码器I/OI/OI/OI/OY地址译码器3I/O电路:不同存储芯片的I/O电路具体形式可能不同。4R/W控制电路。(以上四部分封装在一起成为一片SRAM)三、SRAM芯片实例——Intel2114请看教材P.76图3.5。该图的几点说明:1、2114芯片引脚数目2、地址线的横向、纵向安排3、写入的读出的控制四、存储器与CPU的连接(RAM芯片的扩展、RAM芯片的组织、由RAM芯片构成主存)用较小容量的现成RAM芯片构成机器所需的大容量内存,同时完成RAM芯片与CPU的正确连接。位扩展1使用8KX1的RAM存储芯片组成8KX4的存储器。中央处理器地址总线8KX138KX148KX128KX11数据总线D3D1D0D2字扩展2用8KX4的芯片组成32KX4的存储器。A14A13A0A12WED0—D3CPU2:4译码器CE8KX4WECE8KX4WECE8KX4WECE8KX4WE(一)扩展方法的实例:现有2114即1KX4RAM芯片,要构成8KX16位主存,应该用多少片2114?画出扩展、连接图。A0……A9R/W2114(1#)CSD3D2D1D0A0……A9R/W2114(4#)CSD3D2D1D0首先计算用多少片2114:(8KX16)/(1KX4)=32片然后进行位扩展:把1KX4扩成1KX16,用16/4=4片A9CSA0D15D12最后进行字扩展:1K字—8K字,用上面位扩展得到的1KX16位单元共8K/1K=8个,即总共用2114位8X4=32片。见下图:A12Y7A11A10Y0A9A0D15D12D3D0R/W3/8译码器A0……A9R/W1#CSD3…...D0A0……A9R/W4#CSD3……D0A0……A9R/W29#CSD3……D0A0……A9R/W32#CSD3……D0(二)补充资料:主存设计过程的三个阶段1、系统设计从计算机系统的角度,提出对存储器主要技术指标、功能及结构形式等的要求,如容量、字长、存储周期、总线宽度、控制方式、检纠错能力、环境温度、可靠性等要求。还要确定存储器类型和外电路形式……。2、逻辑设计按地址空间的分配选择合适的RAM、ROM芯片与CPU相连。其中还要考虑到逻辑电路的输入/输出系数,信号的传输与衰减,等等。3、工艺设计落实于生产。问:前例RAM的扩展属于以上三个阶段中的哪一个?四、ROM、RAM与CPU的连接:按照指定的地址空间分配,正确选择所给各种存储器芯片及其它片子、门电路等,将对应的地址线、数据线、控制线连接起来,构成较完整的处理器与存储器的相连系统。例一:教材P.93例3。首先要详细了解题意。作为此类设计常用芯片,介绍74LS138译码器:(1)74138的逻辑符号G1Y7其中,G1,G2A,G2B为输入控制端;G2AC,B,A为译码输入端;G2BY7…Y0为译码输出端。CBAY0(2)74138的真值表:G1G2AG2BCBAY7Y6Y5Y4Y3Y2Y1Y00XXXXX11111111X1XXXX11111111XX1XXX111111111000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111解题的步骤:1、完整列出二进制表示的地址空间分配情况。A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000000000000000┇┇00011111111111110010000000000000┇┇01111111111111111111100000000000┇┇1111111111111111解题步骤:2、根据空间分配和题意确定存储芯片类型及数量,同时确定74138的输入、输出端如何使用。(1)前8K选用一片8KX8的EPROM即可,用74138的Y0输出进行该片的选片(即A15A14A13=000);(2)相邻24K选用8KX8的SRAM三片即可,用74138中Y1、Y2、Y3分别选三片中的一片(即A15A14A13=001、010、011);(3)末2K用一片2KX8的SRAM即可,在74138的Y7输出有效的基础上再加入A12、A11同时为1的条件——用一个非门和一个与门逻辑就可以实现。解题步骤:3、作出连接图。请看教材P.94图3.24。例之二:设CPU共有16根地址线,8根数据线,并用MREQ作访存控制信号(低电平有效),用R/W作读写控制信号(高电平为读,低电平为写),现有下列芯片及各种门电路(自定),如图。画出CPU与存储器的连接图。要求:(1)存储芯片地址空间分配为:最大4K空间为系统程序区,相邻的4K为系统程序工作区,最小16K为用户程序区;(2)指出选用的存储芯片类型及数量;(3)详细画出片选逻辑。步骤1、地址空间分配:强调必须用二进制完整列出,否则无法正确选片。Am……A0Ak…...AoDn……DoDn…..Do2KX8位1KX4位8KX8位2KX8位32KX8位8KX8位16KX1位4KX4位CsROMRDCsRAMWE74LS138A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A01111111111111111111110000000000011110111111111111111000000000000111011111111111111100000000000000011111111111111001000000000000000011111111111110000000000000000中间有40K的空白未用地址空间步骤2、确定芯片的类型和数量。除了74138译码器与门电路之外要选:(1)4K的系统程序区用两片2KX8位的ROM,片选用74138的Y7输出加进A12、A11组合分别为11和10(各对应一片)的条件,可以用简单门电路实现。(2)相邻4K的系统程序工作区用4KX4位的RAM进行位扩展即可。片选用74138的Y7输出加进A12=0的条件即可。(3)最小16K用户程序区用两片8KX8位的RAM,两片的片选分别用74138的Y1、Y0输出端。步骤3、作出连接图MREQA15A14A13A12A11A10A9A0D7D0R/WY7G1G2AG2BCBAY1Y08KX8RAM8KX8RAM2KX8ROM2KX8ROM4KX4RAM4KX4RAM或非或或非4.4高速存储器而目前计算机速度的瓶颈就是:存储器的速度冯诺依曼体系结构运算器存储器远远落后于cpu的速度地址地址地址寄存器地址寄存器译码器译码器存储体4.4.1双端口存储器(端口指读写口)4.4.2并行主存系统要在一个存储周期内访问到多个数据,最直接的办法是增加存储器的字长。例如,一般存储器在一个存储周期内只能访问到一个字。一个容量为m字×w位的存储器,每个存储周期只能访问到w位(一个字)。如果把存储器的位数增加n倍,成为n×w位。为了保持总的存储容量不变,可以把存储器的地址数相应减少n倍,成为m/n个地址。这样,在一个存储周期内就能访问到n个字,把地址码分成两个部分,其中一部分仍作为存储器的地址去访问存储器(因为存储器的字数减少了,因此访问存储器的地址码可以缩短),而另一部分则去控制一个多路选择器,从同时读出的n个数据中选择一个数据输出。作用:加快从主存读出信息到CPU的速度,以解决主存和CPU之间速度不匹配的问题。地址寄存器(MAR)存储器(M字xW位)数据寄存器(MBR)一般存储器选择器存储器(M/n字xnW位)选择器……选择器MBR……MAR……并行访问存储器并行存储的优缺点并行访问存储器的主要优点是实现非常简单、容易。主要缺点是访问的冲突比较大。4.4.3多体交叉存储器0156237400000000010010100110000100001100111001008913141011151201000010010110101110010100101101111011001617212218192320100001000110101101101001010011101111010024252930262731281100011001111011111011010110111111111100M0M1M2M3高位交叉字模块43210高位交叉访问存储器线性地址按模块走,第一块排完再排第二块….。主要目的:扩大存储容量。实现方法:地址码高位区分存储体号,低位体内寻址。0420248122816000000100010100110000100001100111001000015212591329170000100101101011100101001011011110110001262226101430180001000110101101101001010011101111010010372327111531190001100111101111101101011011111111110011M0M1M2M3低位交叉字模块43210低位交叉访问存储器线性地址逐模块走,所有块编一个单元,再回到第一块…...。主要目的:提高存储器的访问速度。实现方法:用地址码的低位区分存储体号,高位体内寻址,并采用分时启动方式。分时启动多体交叉存储体分时工作原理:无论多体存储器中有几个分体,CPU与主存之间数据通路仍是一个W位。n个W位如何在一个存储周期Tm中读出?一般采用分时启动分体的分时读出法。例:设有4体交叉的存储器,分时即每隔1/4Tm启动一个分体。(存储器读出虽用一个Tm,一旦读出后在主存——CPU的总线上传递的速度以及处理的速度要比读内存快得多。)M3M2M1M013/42/41/4t(TM)P102—例4例4:设存储器容量为32字,字长64位,模块数m=4,存储周期T=200ns,数据总线宽度64位,总线传送周期זּ=50ns。问顺序存储器和交叉存储器的带宽各是多少?解:按四个字计算,q=64*4=256位t2=mT=4*200ns=800nst1=T+(m-1)זּ=350ns带宽w=q/t多体交叉存储器的组成:下图。存控的作用——组织多体并行工作,实现分时流水读出,管理信息流动次序和方向。IO处理器CPUM0M1M2M3总线控制IOP地址地址地址地址存储器控制器*课外知识直观地看,增加存储体个数,能够提高主存储器的速度,但是,主存储器的速度不是随存储体个数的增加而线性提高的。例如,在有的大型计算机中采用32个存储体低位交叉来构成主存储器,但是主存储器的速度只比单个存储体高10