微机原理与接口技术学习笔记 16位微机系统中的

发布日期:2018-05-23 12:28:39 编辑整理:河南自考网 【字体: 】   【自考招生老师微信】
立即购买

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

3.4.1 16位微机系统中内存储器芯片的奇偶分体

 

    在16位微机系统中,CPU除了可以对字节寻址外;还必须能进行整字(16字)的读写,因此要求存储器系统组织的设计能保证一次能访问一个整字,但也能允许一次只访问一个字节。

    以8086系统为例,8086CPU有20条地址线,可直接寻址1M字节的内存储器地址空间,由于8086CPU的数据总线是16位的,而这1M字节的存储器地址空间是按字节顺序排列的,为了能满足一次访问一个整字又能访问一个字节的要求,8086系统中1M字节的存储器地址空间实际上分成两个512K字节的存储体——“偶存储体”和“奇存储体”,偶存储体同8086的低8位数据总线D7~D0相连接,奇存储体同8086的高8位数据总线D15~D8相连接;地址总线的A19~A1同两个存储体中的地址线A18~A0相连接,最低位地址线A0和8086的“总线高允许”信号BHE用来选择存储体;如图3-23所示(注意,图中将双重总线分开表示)。AO和BHE对存储体选择的编码表见表3-6。


图3-23 8086系统存储器的奇偶分体

          表3-6  存储体选择编码表
 

    3.4.2  8088/8086的存储器访问操作

 

    1.字节访问和字访问

    8088是准16位微处理器,其外部数据总线为8位,内部寄存器和运算器为16位,一个总线周期只能访问一个字节,要进行字操作,必须用两个总线周期,第一个总线周期访问低位字节,第二个总线周期访问高位字节。

    8086是16位微处理器,其外部数据总线为16位,每个存储周期可以访问存储器中的8位或16位信息。当8086访问一个整字(1位)变量时,该变量的地址为偶地址(即字变量的低字节在偶地址单元,高字节在奇地址单元),则8086将用一个总线周期访问该字变量;如果该字变量的地址为奇地址(即字变量的低字节在奇地址单元,高字节在偶地址单元),则8086要用两个连续的总线周期才能访问该字变量,每个周期访问一个字节。

 

    2.“对准的”字与“未对准的”字

    从表3-6可见,8086CPU能同时访问奇存储体和偶存储体中的一个字节,以组成一个存储字,要访问的16位字的低8位字节存放在偶存储体中,称为“对准的”字(ligned,又称为“对界的”),这是一种规则的存放字。对于“对准的”字,8086CPU只要一个总线周期就能完成对该字的访问;当要访问的16位字的低8位字节存放在奇存储体中,称该字为“未对准的”字(unaligned,又称为“未对界的”),这是一种非规则的存放字。必须用两个总线周期才能访问该字。下面分析一个“未对准的”字的写入过程。

    在第一个总线周期中,如同对奇存储体写入字节一样,送出奇地址(AO=1),并发出BHE=L信号,然后由8086CPU把该字的低8位传送到数据总线的高8位(注意,发生了字节交换),写入存储器的奇存储体(低8位字节);然后,8086CPU又发出一个由该奇地址加1的偶地址,此时AO=0,BHE=H。8086CPU把该字的高8位传送到数据总线的低8位(注意,又发生了字节交换),写入存储器的偶地址区(偶存储体)。这样,经过两次存储器访问周期,把一个“未对准的”字写入存储器的两个存储体中。注意,上述操作对程序员而言是完全透明的。这一写入过程如图3-24所示。

 

    3.4.3  16位系统中存储器接口举例
 

    有一8086CPU与半导体存储器芯片的接口如图3-25所示,其中存储器芯片#1~#8为SRAM芯片6116;#9~#16为EPROM芯片2732。试分析该接口电路的工作特性,计

 

 

   图3-25  存储器接口

算RAM区和ROM区的地址范围(内存为字节编址)。

    解题分析:

    1.8086CPU是16位微处理部.内存为字节编址、一个16位字存放在两个以字节编址的内存单元中,存储区必须奇偶分体,如图中RAM区中#1、#3、#5和#7四个RAM芯片构成“偶存储体”,#2、#4、#6和#8四个RAM芯片构成“奇存储体”。因为前四片的数据线接D0~D7,后四片的数据线接D8~D15。同理ROM区中#9、#11.#13和#15构成“偶存储体”,#10、#12、#14和#16构成“奇存储体”,地址译码时必须考虑奇偶分体的问题。

    2.8086CPU的21条双重总线BHE/S7,AD0~AD15以及A16/S3~A19/S6必须经过锁存器锁存,本题采用3片74LS373。74LS373有两个控制端G和OE,G为锁存允许信号,接8086CPU的ALE(地址锁存允许),ALE为高电平有效信号。在1T时刻,ALE为高电平,将21条双重总线中的EHE,A0~A19打入74LS373,T1结束时;ALE下降沿将BHE和AO~A19锁存,保持到下一总线周期的T1时刻。这20条地址信号和BHE送到地址译码器74LS138(#17、#18及#19)和各存储器芯片。OE接地,保证74LS373输出有效信息。

    3.8086CPU的16条地址数据双重总线AD0~AD15经过数据收发器74LS245(2片)送到各存储器芯片。74LS245也有两个控制端G和DIR,G为使能端,低电平有效,由8086的DEN(数据允许)信号控制;DIR为方向端,DIR为低电平时,传送方向为B到A;DIR为高电平时,传送方向为A到B,由8086的DT/R(数据发送/接收)控制,当DT/R为低电平时,8086CPU接收数据,而对74LS245而言,由B到A;当DT/R为高电平时,8086CPU发送数据,而对74LS245而言,由A到B。

    4.SRAM的译码电路由译码器 74LS138(#17和#18)构成,#17芯片负责SRAM的偶存储体#1、#3、#5、#7的片选译码,由于SRAM6116的存储容量为2K*8位,有11条地址线AO~A1O,因为考虑16位读写,存储器芯片的A0~A10同CPU经锁存后的地址线A1~A11连接,CPU的地址线A12~A14同译码器 74LS138的地址输入端A、B、C连接,译码器芯片#17的三个使能控制端为G1、G2a、G2b,G1高电平有效,同A15“与”M/IO(存储器/IO选择)连接,当A15为低电平,M/IO为高电平,允许译码器工作;G2a。为低电平有效,同与门2的输出相连,与门2的输入为8086CPU的WR和RD,由与门的功能可见,当WR或RD中任一个为低电平时与门2输出即为低电平,因此只要8086CPU有读或写操作时,G2a为有效低电平,允许译码器工作;G2b也为低电平有效,同地址线A0相连,也就是说当8086CPU执行偶地址读写时,G2b为有效低电平,允许译码器工作。上述G1、G2a、G2b的有效电平必须同时满足,译码器才能工作。因此,对74LS138#17芯片而言,只有当8086CPU执行偶地址的存储器读写时,译码器才能正常译码,至于究竟选中#1、#3、#5和#7的哪一片,则由74LS138(#17)的地址输入端A、B、C(即A12、A13、A14)决定。

    #18芯片负责SRAM的奇存储体#2、#4、#6和#8的片选译码,除G2b同BHE(总线高允许,低电平有效)连接外,其余同#17芯片。与#17芯片相仿,#18芯片的正常译码条件是8086CPU执行奇地址的数据读写。

5.SRAM芯片的地址范围

 

    由图3-25可见,对CPU地址而言,SRAM芯片的片外地址译码为A15、A14、A13、A12,A15必须为0,则,#l,#2芯片的片外地址A14A13A12=000,#3、#4为001,#5、#6为010,#7、#8为011。其中#1、#3、#5、#7被选中的条件为A0=0,而#2、#4、#6、#8被选中的条件为BHE=0,即A0=l。则可得各芯片地址范围为:

    #1 00000H~00FFFH中的偶地址区;

    #2 00000H~00FFFH中的奇地址区;

    #3 010OOH~01FFFH中的偶地址区;

    #4 01000H~01FFFH中的奇地址区;

    #5 02000H~02FFFH中的偶地址区;

    #6 02000H~02FFFH中的奇地址区;

    #7 03000H~03FFFH中的偶地址区;

    #8 03000H~03FFFH中的奇地址区;

    整个RAM区的地址范围为00000H~03FFFH,共占16KB。

    注意:A19~A16未参与译码,为部分译码,有地址重叠。这里将未译码的A19~A16假定

为全“0”。

    6.EPROM的译码电路由译码器74LS138(#19)构成,与SRAM译码的区别在于:

    (1)EPROM采用2732。为4KB*8位容量,片内有12条地址线A0~A11,其中A0~A10同CPU总线中A1~A11相连,这同SRAM6ll6一样,片内另一条地址线A11则同CPU总线中的A12相连,构成芯片内12位地址译码。而74LS138(#19)芯片的三个地址输入端接A13~A15。

    (2)74LS138(#19)的G1端接M/IO,同SRAM译码一样,G2a与RD相连,说明2732在读操作时选通。G2b同与非门1的输出相连,而与非门1的输入为A16~A19,当A16~A19为全“l”时,G2b为低电平有效,#19能正常译码,说明在EPROM译码中A19~13这7位地址线参加了片外译码。

    (3)74LS138(#19)的译码输出Y4接#16、#15,T3接#14、#13,Y2接#12、#11,Y1接#10.#9,这4个输出端同2732各芯片的OE(输出允许端)相连,其中#15、#13、#11和#9这4片的片选端CE同地址A0相连,只有当CPU地址A0=“0”时,这4片EPROM才能进行读操作,此即偶存储体的读操作;而#16、#14、#12和#10这4片的CE端同CPU的BHE相连,只有当高8位数据总线工作时(即AO=“1”)时,这4片EPROM才能进行读操作,此即奇存储体的读操作。

    采用与RAM区相似方法,可得2732各芯片的地址范围为:

    #9  FE000H~FFFFFH中的偶地址区;

    #10 FE000H~FFFFFH中的奇地址区;

    #11 FC000H~FDFFFH中的偶地址区;

    #12 FC000H~FDFFFH中的奇地址区;

    #13 FB000H~FCFFFH中的偶地址区;

    #14 FB000H~FCFFFH中的奇地址区;

    #15 FA000H~FBFFFH中的偶地址区;

    #16 FA000H~FBFFFH中的奇地址区;

    整个ROM区的地址范围为F8000H~FFFFFH,共占32KB。

    正确解答本题必须熟练掌握8086、74LS373、74LS245、74LS138、6116以及2732各芯片的功能、引脚信号,并且对16位系统中的存储器的奇偶分体要有深刻的理解。




《河南自考网》免责声明:

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

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

河南自考便捷服务

当前位置: 首页 > 串讲笔记

微机原理与接口技术学习笔记 16位微机系统中的

日期:2018-05-23 12:28:39  整理:河南自考网  浏览(

3.4.1 16位微机系统中内存储器芯片的奇偶分体

 

    在16位微机系统中,CPU除了可以对字节寻址外;还必须能进行整字(16字)的读写,因此要求存储器系统组织的设计能保证一次能访问一个整字,但也能允许一次只访问一个字节。

    以8086系统为例,8086CPU有20条地址线,可直接寻址1M字节的内存储器地址空间,由于8086CPU的数据总线是16位的,而这1M字节的存储器地址空间是按字节顺序排列的,为了能满足一次访问一个整字又能访问一个字节的要求,8086系统中1M字节的存储器地址空间实际上分成两个512K字节的存储体——“偶存储体”和“奇存储体”,偶存储体同8086的低8位数据总线D7~D0相连接,奇存储体同8086的高8位数据总线D15~D8相连接;地址总线的A19~A1同两个存储体中的地址线A18~A0相连接,最低位地址线A0和8086的“总线高允许”信号BHE用来选择存储体;如图3-23所示(注意,图中将双重总线分开表示)。AO和BHE对存储体选择的编码表见表3-6。


图3-23 8086系统存储器的奇偶分体

          表3-6  存储体选择编码表
 

    3.4.2  8088/8086的存储器访问操作

 

    1.字节访问和字访问

    8088是准16位微处理器,其外部数据总线为8位,内部寄存器和运算器为16位,一个总线周期只能访问一个字节,要进行字操作,必须用两个总线周期,第一个总线周期访问低位字节,第二个总线周期访问高位字节。

    8086是16位微处理器,其外部数据总线为16位,每个存储周期可以访问存储器中的8位或16位信息。当8086访问一个整字(1位)变量时,该变量的地址为偶地址(即字变量的低字节在偶地址单元,高字节在奇地址单元),则8086将用一个总线周期访问该字变量;如果该字变量的地址为奇地址(即字变量的低字节在奇地址单元,高字节在偶地址单元),则8086要用两个连续的总线周期才能访问该字变量,每个周期访问一个字节。

 

    2.“对准的”字与“未对准的”字

    从表3-6可见,8086CPU能同时访问奇存储体和偶存储体中的一个字节,以组成一个存储字,要访问的16位字的低8位字节存放在偶存储体中,称为“对准的”字(ligned,又称为“对界的”),这是一种规则的存放字。对于“对准的”字,8086CPU只要一个总线周期就能完成对该字的访问;当要访问的16位字的低8位字节存放在奇存储体中,称该字为“未对准的”字(unaligned,又称为“未对界的”),这是一种非规则的存放字。必须用两个总线周期才能访问该字。下面分析一个“未对准的”字的写入过程。

    在第一个总线周期中,如同对奇存储体写入字节一样,送出奇地址(AO=1),并发出BHE=L信号,然后由8086CPU把该字的低8位传送到数据总线的高8位(注意,发生了字节交换),写入存储器的奇存储体(低8位字节);然后,8086CPU又发出一个由该奇地址加1的偶地址,此时AO=0,BHE=H。8086CPU把该字的高8位传送到数据总线的低8位(注意,又发生了字节交换),写入存储器的偶地址区(偶存储体)。这样,经过两次存储器访问周期,把一个“未对准的”字写入存储器的两个存储体中。注意,上述操作对程序员而言是完全透明的。这一写入过程如图3-24所示。

 

    3.4.3  16位系统中存储器接口举例
 

    有一8086CPU与半导体存储器芯片的接口如图3-25所示,其中存储器芯片#1~#8为SRAM芯片6116;#9~#16为EPROM芯片2732。试分析该接口电路的工作特性,计

 

 

   图3-25  存储器接口

算RAM区和ROM区的地址范围(内存为字节编址)。

    解题分析:

    1.8086CPU是16位微处理部.内存为字节编址、一个16位字存放在两个以字节编址的内存单元中,存储区必须奇偶分体,如图中RAM区中#1、#3、#5和#7四个RAM芯片构成“偶存储体”,#2、#4、#6和#8四个RAM芯片构成“奇存储体”。因为前四片的数据线接D0~D7,后四片的数据线接D8~D15。同理ROM区中#9、#11.#13和#15构成“偶存储体”,#10、#12、#14和#16构成“奇存储体”,地址译码时必须考虑奇偶分体的问题。

    2.8086CPU的21条双重总线BHE/S7,AD0~AD15以及A16/S3~A19/S6必须经过锁存器锁存,本题采用3片74LS373。74LS373有两个控制端G和OE,G为锁存允许信号,接8086CPU的ALE(地址锁存允许),ALE为高电平有效信号。在1T时刻,ALE为高电平,将21条双重总线中的EHE,A0~A19打入74LS373,T1结束时;ALE下降沿将BHE和AO~A19锁存,保持到下一总线周期的T1时刻。这20条地址信号和BHE送到地址译码器74LS138(#17、#18及#19)和各存储器芯片。OE接地,保证74LS373输出有效信息。

    3.8086CPU的16条地址数据双重总线AD0~AD15经过数据收发器74LS245(2片)送到各存储器芯片。74LS245也有两个控制端G和DIR,G为使能端,低电平有效,由8086的DEN(数据允许)信号控制;DIR为方向端,DIR为低电平时,传送方向为B到A;DIR为高电平时,传送方向为A到B,由8086的DT/R(数据发送/接收)控制,当DT/R为低电平时,8086CPU接收数据,而对74LS245而言,由B到A;当DT/R为高电平时,8086CPU发送数据,而对74LS245而言,由A到B。

    4.SRAM的译码电路由译码器 74LS138(#17和#18)构成,#17芯片负责SRAM的偶存储体#1、#3、#5、#7的片选译码,由于SRAM6116的存储容量为2K*8位,有11条地址线AO~A1O,因为考虑16位读写,存储器芯片的A0~A10同CPU经锁存后的地址线A1~A11连接,CPU的地址线A12~A14同译码器 74LS138的地址输入端A、B、C连接,译码器芯片#17的三个使能控制端为G1、G2a、G2b,G1高电平有效,同A15“与”M/IO(存储器/IO选择)连接,当A15为低电平,M/IO为高电平,允许译码器工作;G2a。为低电平有效,同与门2的输出相连,与门2的输入为8086CPU的WR和RD,由与门的功能可见,当WR或RD中任一个为低电平时与门2输出即为低电平,因此只要8086CPU有读或写操作时,G2a为有效低电平,允许译码器工作;G2b也为低电平有效,同地址线A0相连,也就是说当8086CPU执行偶地址读写时,G2b为有效低电平,允许译码器工作。上述G1、G2a、G2b的有效电平必须同时满足,译码器才能工作。因此,对74LS138#17芯片而言,只有当8086CPU执行偶地址的存储器读写时,译码器才能正常译码,至于究竟选中#1、#3、#5和#7的哪一片,则由74LS138(#17)的地址输入端A、B、C(即A12、A13、A14)决定。

    #18芯片负责SRAM的奇存储体#2、#4、#6和#8的片选译码,除G2b同BHE(总线高允许,低电平有效)连接外,其余同#17芯片。与#17芯片相仿,#18芯片的正常译码条件是8086CPU执行奇地址的数据读写。

5.SRAM芯片的地址范围

 

    由图3-25可见,对CPU地址而言,SRAM芯片的片外地址译码为A15、A14、A13、A12,A15必须为0,则,#l,#2芯片的片外地址A14A13A12=000,#3、#4为001,#5、#6为010,#7、#8为011。其中#1、#3、#5、#7被选中的条件为A0=0,而#2、#4、#6、#8被选中的条件为BHE=0,即A0=l。则可得各芯片地址范围为:

    #1 00000H~00FFFH中的偶地址区;

    #2 00000H~00FFFH中的奇地址区;

    #3 010OOH~01FFFH中的偶地址区;

    #4 01000H~01FFFH中的奇地址区;

    #5 02000H~02FFFH中的偶地址区;

    #6 02000H~02FFFH中的奇地址区;

    #7 03000H~03FFFH中的偶地址区;

    #8 03000H~03FFFH中的奇地址区;

    整个RAM区的地址范围为00000H~03FFFH,共占16KB。

    注意:A19~A16未参与译码,为部分译码,有地址重叠。这里将未译码的A19~A16假定

为全“0”。

    6.EPROM的译码电路由译码器74LS138(#19)构成,与SRAM译码的区别在于:

    (1)EPROM采用2732。为4KB*8位容量,片内有12条地址线A0~A11,其中A0~A10同CPU总线中A1~A11相连,这同SRAM6ll6一样,片内另一条地址线A11则同CPU总线中的A12相连,构成芯片内12位地址译码。而74LS138(#19)芯片的三个地址输入端接A13~A15。

    (2)74LS138(#19)的G1端接M/IO,同SRAM译码一样,G2a与RD相连,说明2732在读操作时选通。G2b同与非门1的输出相连,而与非门1的输入为A16~A19,当A16~A19为全“l”时,G2b为低电平有效,#19能正常译码,说明在EPROM译码中A19~13这7位地址线参加了片外译码。

    (3)74LS138(#19)的译码输出Y4接#16、#15,T3接#14、#13,Y2接#12、#11,Y1接#10.#9,这4个输出端同2732各芯片的OE(输出允许端)相连,其中#15、#13、#11和#9这4片的片选端CE同地址A0相连,只有当CPU地址A0=“0”时,这4片EPROM才能进行读操作,此即偶存储体的读操作;而#16、#14、#12和#10这4片的CE端同CPU的BHE相连,只有当高8位数据总线工作时(即AO=“1”)时,这4片EPROM才能进行读操作,此即奇存储体的读操作。

    采用与RAM区相似方法,可得2732各芯片的地址范围为:

    #9  FE000H~FFFFFH中的偶地址区;

    #10 FE000H~FFFFFH中的奇地址区;

    #11 FC000H~FDFFFH中的偶地址区;

    #12 FC000H~FDFFFH中的奇地址区;

    #13 FB000H~FCFFFH中的偶地址区;

    #14 FB000H~FCFFFH中的奇地址区;

    #15 FA000H~FBFFFH中的偶地址区;

    #16 FA000H~FBFFFH中的奇地址区;

    整个ROM区的地址范围为F8000H~FFFFFH,共占32KB。

    正确解答本题必须熟练掌握8086、74LS373、74LS245、74LS138、6116以及2732各芯片的功能、引脚信号,并且对16位系统中的存储器的奇偶分体要有深刻的理解。


本文标签:河南自考 河南自考串讲笔记 微机原理与接口技术学习笔记 16位微机系统中的

转载请注明:文章转载自(http://www.hazikao.net

本文地址:http://www.hazikao.net/cj/8734.html



《河南自考网》免责声明

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

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