欢迎访问中山自考网!本站由《帕思教育培训中心》提供助学服务,非政府官方网站,官方信息以广东省教育考试院(http://eea.gd.gov.cn/)为准。

报名热线:177-2280-6683

在线招生老师|中山自考网招生老师

首页
自考服务: |报名报考 |报考须知 |考办联系方式 |考试时间安排表 |免考办理 |学历证明办理 |合并准考证办理 |转出、转入办理 |考籍信息更正办理
通知公告:

微机原理与接口技术学习笔记 存储器接口的基本

编辑整理:中山自考网    发布时间:2018-05-23 12:28:39    浏览热度:   [添加招生老师微信]
立即购买

《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至399元/科!

在微机系统中,存储器系统是必不可少的,下面以一个8位微机系统中的存储器子系统为例,说明半导体存储器芯片与CPU的连接方法,以及在连接时必须注意的问题。

    图3-15是一个8位微机系统中的存储器子系统。该子系统中有4片2732 EPROM组成16KB的 ROM区,4片6116 SRAM组成8KB的RAM区。该存储器子系统共占有24KB的内存空间(图中CPU为8088,8088的存储器/IO控制信号为IO/M)。

    从图3-15可见,在内存芯片选定后,内存芯片同CPU的连接是构筑存储器子系统的主要工作,有三部分内容:

    (1)地址线的连接——可以根据所选用的半导体存储器芯片地址线的多少,把CPU的地址线分为芯片外(指存储器芯片)地址和芯片内的地址,片外地址经地址译码器译码后输出,作为存储器芯片的片选信号,用来选中CPU所要访问的存储器芯片。片内地址线直接接到所要访问的存储器芯片的地址引脚,用来直接选中该芯片中的一个存储单元。图3-15中,对2732而言,片外地址线为A19~A12。片内地址线为All~AO;对6116而言,片外地址线为A19~A11,片内地址线为A1O~AO。

    (2)数据线的连接——图3-15中,2732为4K*8位芯片,6116为2K*8位芯片,两者都有8条数据线,可直接同8088 CPCPU的8位数据线相连。如果采用Intel2164芯片,因该

芯片为64K*1位芯片,内部只有一位数据线,必须由8片2164芯片才能构成64K字节的内存,因此8片2164的数据线必须分别同8088CPU的8条数据线相连。

    (3)控制线的连接——即如何用CPU的存储器读写信号同存储器芯片的控制信号线连接,以实现对存储器的读写操作。

 

    3.3.1 集成译码器及其应用

 

    CPU要对存储单元进行读写,首先要选择存储器芯片,即进行“片选”,然后在被选中的芯片中选择所要读写的存储单元,即进行“字选”——选择存储字。片选是通过地址译码方法来实现的。

 

    1.74LS138译码器

    在微机系统中,常采用中规模集成电路芯片74LS138作为地址译码器,其引脚及逻辑电路如图3-16所示。

    74LS138是3-8线译码器/分配器,有三个“选择输入端” C、B、A,三个“使能输入端”(又称为“允许端”或“控制端”)G1、G2a、G2b,以及8个输出端Y0~Y7。其功能表见表3-3。

 

    2.74LS138的应用

    以图3-15的存储器子系统为例,地址译码器74LS138的“使能输入端”G2a经与非门同系统的地址总线A15、A16、A17和A18相连,G2b同IO/M相连,G1与 A19相连,而三个选择输入端C、B、A分别与A14、A13、A12相连。这样,74LS138译码器能工作的必要条件是:(1)存储器操作——包括存储器读或写;(2)A19A18A17A16A15为‘11111’。而A14A13A12的8种不同的地址组合(从‘000’到’ill’),分别对应于与Y0~Y7 8个输出端相连的8

 

  表3-3   74LS138的功能表

 个半导体存储器芯片的地址范围。

据此分析,4片2732芯片的编号为EPROM1、EPROM2、EPROM3和EPROM4,4片6116芯片的编号为SRAM1、SRAM2、SRAM3和SRAM4,其地址范围的计算如下:


    可得8片存储器芯片的地址范围为:

    EPROM1:F8000H~F8FFFH

    EPROM2:F9000H~F9FFFH

    EPROM3:FA000H~FAFFFH

    EPROM4:FB000H~FBFFFH

    SRAM1:FC000H~FC7FFH

    SRAM2:FC800H~FCFFFH

    SRAM3:FD000H~FD7FFH

    SRAM4:FD800H~FDFFFH

    在上述计算中,注意片内地址与片外地址的划分。对2732EPROM而言,其存储容量为4K*8位,有12条地址线,因此CPU的20条地址线中低12位All~AO作为存储器芯片的片内地址,直接与2732芯片的12条地址线相连,而高8位A19~A12为片外地址,同译码器的选择输入端C、B、A以及使能输入端相连。对6116SRAM而言,其存储容量为2K*8位,有11条地址线,则片内地址为11位,同CPU的A10~AO相连,而A19~A11为片内地址,参与译码器译码。在图3-15中,Y4和Y5两个译码输出端同地址线A11或A11(A11取反)经或门后作为6116的片选信号。

 

     3.3.2 采用基本门电路实现内存储器的片选

    在一些内存芯片较少的存储系统中,内存芯片的片选可以采用一些基本的逻辑门电路——逻辑与门、逻辑或门和逻辑非门来实现。

    仍以图3-15所示的存储系统为例,如果该系统是采用基本逻辑门电路作为各内存芯片的片选电路,则EPROM1和EPROM2的片选电路可如图3-17或图3-18所示。

 

    从图3-17和3-18可见,当高位地址A19~A12为11111000,且IO/M=“L”时,门电路1,输出“L”,选中EPROM1(即CE=L,有效),而当A19~A12=11111001;且IO/M=“L”时,门电路2输出“L”,选中EPROM2(即CE=L,有效)。由此实现了内存芯片的片选。
    若在图3-15所示的存储系统中,全部采用基本的逻辑门电路作为各内存芯片的片选电路,则需要6个这样的门电路组合。

 

    3.3.3 实现片选控制的三种方法

 

    在存储器系统中,实现片选控制的方法有三种,即全译码、部分译码和线选。

 

    1.全译码法

    图3-15所示的存储器译码电路中,CPU的全部地址总线A19~AO都参与地址译码,因此对应于存储器芯片中的任意单元都有惟一的确定的地址,这种片选控制方法称为“全译码”。

 

    2.部分译码法

    如果在图3-15的存储器译码电路中,A19不参加译码,即74LS138的G1端接+5V,则A19不论是“0”还是“1”。只要A18~A12满足1111000都能选中FPROM1,则EPROM1的地址范围为78000H~78FFFH和F8000H~F8FFFH,那么一个存储单元可以由两个地址码来选中,这种片选控制方式称为“部分译码”。

 

    3.线选法

    如果在一个微机应用系统中,所要求的存储器容量较小,而且以后也不要求扩充系统的存储容量,例如,只要求4KB的EPROM区和4KB的SRAM区,则可不采用译码器芯片74LS138,而采用如图3-19所示的片选控制电路。


图3-19 片选控制电路

    该电路中采用1片2732EPROM、2片6116SRAM构成总计8KB的存储器系统。图中A11~AO直接同2732的地址线相连,A1O~AO直接同6116的地址线相连、片选控制电路由几片小规模集成控制电路芯片组成,系统的地址总线中的A11用来区分两片6116芯片的地址范围,地址总线的最高位A19用来划分4KB EPROM区和4KB SRAM区的地址范围,这样,凡是A19为“0”的地址信号都选中SRAM区,A19为“1”的地址信号都选中EPROM。4KB的EPROM区和4KB的SRAM区分别对应于512K个地址,这样一个存储单元可以有128个地址来选中,凡是A19,A11~A0这13位地址固定,A18~A12这7位地址为任意值的128种地址码都能选中同一存储单元,称为“地址重叠”。

    显然,部分译码也存在地址重叠的问题。

 

    3.3.4 控制信号的连接

    在存储器系统中,SRAM通常有三条控制信号线——片选信号CE、写允许信号WE和输出允许信号OE,这些控制信号的连接如图3-15所示,CE接地址译码器输出,OE接读信号线RD,WE接写信号线WR。EPROM芯片常采用双线控制,片选信号CE用来选择芯片、输出允许信号OE用来允许数据输出。只有这两条控制线同时有效时,才能从输出端得到要读出的数据。当CE为高电平时,EPROM处于待用状态(静止等待状态),输出呈现高阻抗,芯片处于低功耗状态且不受OE的影响。建议在同地址译码器输出相连,以控制对各器件的选择,而OE同系统控制总线中的读信号RD相连,这样可以保证所有未被选中的器件处于低功耗状态。

    最后还要特别指出的是,在存储器芯片同CPU连接时要注意:(1)CPU总线的负载能力问题。通常CPU的总线负载能力为一个TTL器件或20个MOS器件,当总线上挂接的器件超过上述负载时,应考虑总线的驱动问题。在总线上加接缓冲器和驱动器,以增加CPU的负载能力。常用的驱动器和缓冲器有单向的74LS244、74LS367以及Intel的8282等,用于单向传输的地址总线和控制总线的驱动;对双向传输的数据总线通常采用数据收发器74LS245或Intel的8286、8287等。(2)CPU的时序同存储器芯片的存取速度的配合问题。存储器芯片同CPU连接时,要保证CPU对存储器的正确、可靠的存取,必须考虑存储器的工作速度是否能同CPU速度的匹配问题。如果存储器的速度跟不上CPU的速度,就必须在正常的CPU总线周期中插入等待周期Tw。

 

    3.3.5  动态存储器的连接

    根据DRAM芯片的特点,在DRAM芯片与CPU的连接中着重注意下由几个问题。

 

    1.行地址和列地址的形成

    以IBM——PC/XT机的RAM子系统为例,其RAM芯片的行地址和列地址形成电路如图3-20所示。

    PC/XT机中RAM子系统采用4164DRAM芯片,有4组芯片,每组9片,其中8片构成64KB容量的存储器,1片用于奇偶校验位,4组DRAM芯片构成XT机系统板上256KB容量的内存。送到每个组中的行、列地址由两片74LS158(二选一选择器)组成的地址多路器提供。74LS158的真值表如表3-4所示。

          表3-4 74LS158真值表

控制

输入

输出

S

1A—4A1B—4B

1Y—4Y

L

X

Y=A

H

X

Y=B

在PC/XT机中控制端S接信号ADDRSEL,当XMEMR或XMEMW有效时(存储器读或写),ADDRSEL信号先为低电平,过60ns为高电平;则74LS158先输出A路信号——XA0~XA7,即行地址;后输出B路信号——XA8—XA15,即列地址,先后在RAS(行地址选通)和CAS(列地址选通)的有效信号作用下,送到DRAM芯片组的8条地址线。

 

    2.RAS和CAS的产生

    PC/XT机的RAS和CAS信号产生电路如图3-21所示。

    该电路产生4组DRAM存储器的RAS0~RAS3和CAS0~CAS3,由两级地址译码器组成。第二级译码器有两片74LS138组成,U56产生行地址选通信号RAS0~RAS3;U42产生列地址选通信号CAS0~CAS3。第二级译码器工作的条件有三:(1)第一级译码器的输出QO=“H”;(2)非刷新操作,DACK0BRD=“H”(无效电平);(3)有存储器读或写信号XMEMR、XMEMW。CAS译码器工作条件还需加上满足下面三个条件中的一个:(1)AEN=“L”(有效),即DMA操作;(2)MEMR=“L”(有效)即存储器读;(3)MWTC=“L”(有效),即存储器写。图中延迟线TD1使U42滞后U56工作,以满足CAS比RAS滞后有效。

 

第一级译码器由24S10(U44)组成,这是一个256*4位的ROM,在256个4位存储单元中,预先写入适当数值,地址线A7~A0用来选中其中一个存储字(4位数据


Q3Q2Q1Q0),S2,S1为输出控制端,当S2S1=“LL”时,24S10的端Q3~Q0有输出。Q3~Q0的输出值随A7~AO的地址信号而异。AO~A3接系统地址线高4位A16~A19;A4、A5接系统板上配置开关位3和位4--SW3、SW4(SW3和SW4的状态,反映系统板上RAM的配置情况,见注①);A6、A7恒为“H”,根据第二级译码要求,24S10芯片中有关单元应写入数据如表3-5所示。
          表3-5 第一级译码器24S10中有关存储字内写入微据


   从表3-5可见,在系统板上RAM容量固定的情况下(即SW4、SW3固定),A19~A16为0000、0001、0010、0011时,Q2Q1分别对应为00、01、10、11,同时加到第二级译码器的选择输入端B和A,经译码后,分别输出RAS0/CAS0、RAS1/CAS1、RAS2/CAS2和RAS3/CAS3,用以选中4组RAM中的一组。在分析第一级译码时还需注意的是,第二级译码要求 24S10的Q0必须输出“H”才能正常工作,在表3-5中也应满足这一要求。例如,当系统板上只配置有128KB RAM,则SW4、SW3=01。当A19~16=0000时,Q2Q1Q0=001,Q0=1满足第二级译码要求,Q2Q1=00,使第二级译码输出RAS0=L,CAS0=L,选中第1组RAM;当A19~A16=0001时,Q2Q1Q0=011,Q0=1,Q2Q1=01输出RAS1=L,CAS1=L,选中第2组RAM;而当A19~A16=0010和0011时,Q2Q1Q0=000、000,Q0=0,第二级译码不工作,无RAS,CAS的有效信号输出,第3、4组RAM不被选中,这是符合实际情况的,因为此时系统板上根本未装上这二组RAM。

    当DRAM芯片组进行动态刷新时,图3-21中DACK0BRD=“L”,经U24与非门后输出“H”使U42的G2a无效,同时又使U56的G2b亦无效,则第二级译码器不工作,无RAS、CAS有效信号输出。而DACK0BRD又经与非门U71反向为“H”,送到与非门U69,U69的另一输入端来自延迟线TD1的输入端,当XMEMW或XMEMR有效时,TD1输入为“H”,经U69与非后输出低电平信号加到U55的4个负或门,同时输出4组RAM芯片的RAS0~RAS3,这正是DRAM芯片刷新所要求的。

 

    3.刷新电路

    PC/XT机中刷新逻辑的原理图如图3-22所示。

 

    这是一个以DMA(直接存储器存取)控制方式进行DRAM刷新的例子。
    4164DRAM容量为64K*1位,有64K个存储单元,分成4个128*128的存储矩阵,每当RAS=“L”(有效)时,将根据地址线A6~AO的值对每个矩阵中相应的行进行一次刷

新,共刷新4*128个存储单元。要求2ms内对全部存储单元刷新一遍,则每一行刷新的时间间隔为2ms/128=15625us。在PC/XT机中采用15us。

    在图3-22中,15us的时间间隔由定时器(采用8253可编程间隔定时器芯片)发出,作为DMA(DMA控制器采用8237芯片)的请求信号DREQO,DMAC向CPU发出HOLD(总线请求信号),经CPU允许(发出总线响应信号HLDA)开始一次刷新操作,送出DACK0(即图3-21中的DACK0BRD)经非门1、与非门2、与门3后产生4组DRAM芯片所需的RAS0~RAS3有效信号,同时;DMAC发出刷新地址A6~AO送到DRAM各组芯片。在RAS有效信号作用下,对指定行(4*128个存储单元)进行刷新。完成一次刷新后,DMA内部将地址自动加1,等待下一次刷新请求。DMA完成一行刷新的时间为4T=840ns。占整个刷新周期15us的1/18。


《中山自考网》免责声明:

1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。

2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com