《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至399元/科!
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.zszkw.cn)
《中山自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com