微机原理与接口技术学习笔记 16位微机系统中的
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、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:952056566@qq.com
相关《微机原理与接口技术学习笔记 16位微机系统中的》的文章
甘肃自考便捷服务
- 微信交流群
- 微信公众号
微信扫一扫加入考生微信群
①学习交流、②考试提醒、③自考解答
④自考资料、⑤新闻通知、⑥备考指导
甘肃自考网微信公众号
随时获取甘肃省自考政策、通知、公告
以及各类学习微信公众号
- 热点文章
- 常见问题