微机原理及接口技术(第六版)习题及答案 第2章 习题解答_第1页
微机原理及接口技术(第六版)习题及答案 第2章 习题解答_第2页
微机原理及接口技术(第六版)习题及答案 第2章 习题解答_第3页
微机原理及接口技术(第六版)习题及答案 第2章 习题解答_第4页
微机原理及接口技术(第六版)习题及答案 第2章 习题解答_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章习题与综合练习解答与参考答案

1.8086和8088处理器内部一般包含哪些主要部分?内部结构的差异?

答:8086和8088处理器从功能上可分为两个部分,即总线接口单元BIU和

执行单元EU。如下图所示。

输入/输出部

控制电路总

线

执行单元人

46

控制电路V1235

指令队列缓冲心

执行单元(EU)总线接I】单元(B1U)

8086和8088处理器内部差异主要是在BIU总线接口单元,8086的指令队列

有6个字节,而8()88的指令队列为4个字节。

2.什么是堆栈?它有什么用途?堆栈指针的作用是什么?举例说明堆栈的

操作「

答:堆栈是通常在计算机的内存中开辟一个专用的数据存储区,它具有“先

进先出”的存储特性。堆栈的作用是保护数据或指令为后续指令使用作准备。

堆栈指针SP的作用是用来指示存取位于当前堆栈段中的数据所在的地址。

例:(1)l+2=a(2)2+3=b(3)a+b=c

执行完指令(1)后将a放入堆栈中,在执行到指令(3)是将a取出与b相

加可得到c。

3.8086/8088CPU指令队列缓冲器各占有几个字节?说明其工作过程。

答:如第一题中所述,8086CPU的指令队列有6个字节,而8088CPU的指

令队列为4个字节。

工作过程:

不管是8086CPU还是8088CPU,都会在执行指令的同时,从内存中取下面一

条或儿条指令,取来的指令就依次放在指令队列中。它们采用“先进先出”的原则。

按顺序存放,并依次先后到EU中去执行。将遵循下列原则。

1)取指令时,每当指令队列缓冲器中存满一条指令时,EU就立即开始执行。

2)指令队列缓冲器中只要空出2个字节(对8086)或空出1个指令字节时

(对8088),BIU便自列执行取指令操作,直到填满为止。

3)在EU执行指令的过程中,指令需要对存储器或I/O设备存取数据时,BIU

将在执行完现行取指令的存储器周期后的下一个存储器周期时,对指定的内存单

元或I/O设备进行存取操作,交换的数据经BIU由EU进行处理。

4)当EU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要

求BIU从新的地址重新开始取指令,新取的第一条指令将直接经指令队列送到EU

去执行,随后取来的指令将填入指令队列缓冲器。由于BIU和EU是分开并独立

工作的,因此,在一般情况下,CPU执行完一条指令后就可以执行下一条指令,

而不需要像以往8位CPU那样重复地进行先取指令和后执行指令的串行操作。16

位CPU这种并行重叠操作的特点,提高了总线的信息传输效率和整个系统的执行

速度。下图给出8086/8088CPU程序的执行过程。

BIU取指令取指令取指令取指令取数据取指令

EU等待执行执行执行执行

4.在8086CPU中,在FR寄存器有哪些标志位,分别说明各位的功能。

答:在8086CPU中,FR寄存器共有9个标志位,即6个状态标志位(CF、

PF、AF、ZF、SF、OF),3个控制标志位(TF、DF、IF)。

CF进位标志:当执行一个加法或减法运算时最高位产生进位或借位时,则CF

为1,否则为0。在进行多字节数的加减运算时,要使用到该标志位;在比较无符

号数的大小时,也用到该标志位;循环指令也会影响它。

PF奇偶标志:当指令执行结果的低8位中含有偶数个1时,则PF为1;否

则为0。利用PF可进行奇偶校验检查,或产生奇偶校验位,在串行通信中也用到

PF位。

AF辅助进位标志:当执行一个加法或减法运算时结果的低字节的第4位向高

4位有进位或借位时,则AF为1;否则为0。

ZF零标志位:若当前的运算结果为零,则ZF为1;否则为()。

SF符号标志:它和运算结果的最高位相同。当数据用补码表示时,负数的最

高位为1,正数的最高位为0。

OF溢出标志:用于反映有符号数加减运算是否引起溢出。

DF方向标志:用来控制数据传操作指令的步进方向。

IF中断允许标志:控制可屏蔽中断。

TF跟踪标志:为调试程序的方便而设置。

5.在8086CPU中,有哪些通用寄存器和专用寄存器?是说明专用寄存器的

作用。

答:通用寄存器:数据寄存器(AX、BX、CX、DX),指针寄存器(SP、BP),

变址寄存器(DI、SDc

专用寄存器即段寄存器(CS、SS、DS、ES)、指令指针寄存器和标志寄存器:

CS存放程序当前使用的代码段的段基址;

SS存放程序当前使用的堆栈段的段基址;

DS存放程序当前使用的数据段的段基址;

ES存放程序当前使用的附加段的段基址,通常也用来存放数据,典型用法用

来存放处理后的数据。

指令指针寄存器IP(也称为程序计数器)是用来存放要执行指令的指令代码

的偏移地址,它与代码段寄存器的段基值结合,形成指令指针所在存储单元的实

际地址。

标志寄存器FR

16位标志寄存器F只用了其中的9位作标志位,即6个状态标志位,3个控

制标志位。如下图所示。低8位FL的5个标志位与8080/8085的标志相同。

◄--------------FH-----------------►F---------------------FL---------------►

15121180

OFDFIFTFSFZFAFPFCF

状态标志位用来反映算术或逻辑运算后结果的状态,以记录CPU的状态特征。

这6位是:CF、PF、AF、ZF、SF、OF。

•CF(CarryFlag)进位标志:当执行一个加法或减法运算使最高位(即Di5位

或D7位)产生进位或借位时,则CF为1;否则为0。在进行多字节数的加

减运算时,要使用到该标志位;在比较无符号数大小时,也用到该标志位。

此外,循环指令也会影响它。

•PF(ParityPag)奇偶标志:当指令执行结果的低8位中含有偶数个1时,

则PF为1;否则为0o利用PF可进行奇偶校验检查,或产生奇偶效验

位,在串行通信中也用到PF位。

•AF(AuxiliaryCanyFlag)辅助进位标志:当执行一个加法或减法运算使结

果的低字节的低4位向高4位有进位或借位时,则AF为1;否则为0。

•ZF(ZeroFlag)零标志位:若当前的运算结果为零,则ZF为1;否则为0。

•SF(SignFlag)符号标志:它和运算结果的最高位(根据Dis位或D7位判

断)相同。当数据用补码表示时,负数的最高位为1,正数的最高位为0。

•OF(OverflowFlag)溢出标志:溢出标志OF用于反映有符号数加减运算是

否引起溢出。如运算结果超过了8位或16位有符号数的表示范围,即在字

节运算时大于+127或小于.128,在字运算时大于+32767或小于.32768,称

为溢出。当补码运算有溢出时,OF为1;否则为()。对OF的取值可以采用

简易的办法来求:即如果操作数是字节运算,用C6和C7位的值进行异或运

算;如果操作数是字运算,用CI4和CI5位的值进行异或运算(G表示进行

加减运算时第i位向第i+1位的进位或借位)。如C6=l,C7=0,则OF=1;

Ci5=l,Ci4=l,则OF=0等。

•DF(DirectionFlag)方向标志:它用来控制数据串操作指令的步进方向。若

用STD指令将DF置1,则串操作过程中地址会自动递减;若压CLD指令

将DF清0,则串操作过程中地址会自动递增。

•IF(InterruptEnableFlag)+1断允许标志:它是控制可屏蔽中断的标志。若

用STI指令将IF置1,表示允许CPU接受外部从INTR引线上发来的可屏

蔽中断请求信号;若用CLI指令将IF清0,则禁止CPU接受可屏蔽中断请

求信号。IF的状态不影响非屏蔽中断(NMI)请求,也不影响CPU响应内

部的中断请求。

•TF(TrapFlag)跟踪(陷阱)标志:它是为调试程序的方便而设置的。

若将TF置1,8086/8088CPU处于单部工作状态方式;否则,将正常执

行程序。8086/8088没有专门设置和清除TF标志的指令,要通过其他

方法设置和清除TF。

6.8086/8088CPU中有哪些寄存器可以作为8位寄存器使用,哪些只能为16

位?

答:8086/8088CPU中的数据寄存器(AH、AL、BH、BL、CH、CL、DH、

DL)可作为8位寄存器使用,其它只能为16位使用。

7.若CS=8000H,试说明现行代码段可寻址的存储空间的范围。

答:因为CS=8000H,偏移量可为0000H〜FFFFH,现行代码段可寻址的存储

空间的范围是80000H〜8FFFFH。

8.设现行数据段位于存储器的B0000到DPPTTILDS段寄存器的内容应是

什么?

答:DS段寄存器的内容应是B000H。

9.说明8086的EU和BIU的主要功能。

答:EU:只负责执行指令;执行的指令从BIU的指令缓冲器中取得,执行指

令的结果或执行指令所需的数据,都由EU向BIU发出请求再由BIU对存储器或

外存存取。

BIU:负责完成CPU与存储器或I/O设备之间的数据传送。

10.说明8086/8088CPU之间的相同点和不同点,它们适用的场合?

答:(1)8086/8088CPU之间的相同点均为16位的CPU,内部能处理16位

的指令和数据,可访问的外部地址空间为1MB,

(2)8086/8088CPU之间的不同点为8086CPU外部数据总线为16位,

8088CPU外部数据总线为8位的CPU;8086的指令队列有6个字节,而8088的

指令队列为4个字节;由于8086CPU外部数据总线是16位,可适用于16位的

接口电路,8088CPU外部数据总线是8位,可适用于8位的接口电路c8088CPU

可用于更简单的小系统,8086CPU可用于更加复杂的系统。

11.说明8086/8088CPU内部总线接口单元BIU部分的地址加法器工作原理。

答:BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口

单元要配合执行单元从指定的内存单元或外设端口中取数据,将数据传送给执行

单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。BIU内

有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈

段寄存器)和ES(附加段寄存器),16位指令指针IP,6字节指令队列缓冲器,

20位地址加法器和总线控制电路。

20位地址加法器就是将段地址寄存器的内容左移4位,然后再加上右面16位

的有效地址偏移量,形成20位的物理地址。16位的有效地址形成详见寻址方式。

12.说明8086CPU组成的系统为什么必须使用地址锁存器。

答:8O86CPU的ADo〜ADl5是复用引脚,即地址线和数据线公用,在CPU

进行数据读写期间必须保证地址线信号有效,因此必须使用地址锁存器。8086CPU

在总线周期状态发出地址信号经锁存后的地址信号可以在访问存储器操作周期保

持不变,为系统提供稳定的地址信号,否则,系统不能完成正常的操作。

13.8086/8088CPU的最大寻址范围是多少?是怎样实现对整个地址空间寻址

的。

答:8086/8088CPU的最大寻址范围是00000H〜FFFFFH,即1MB字节。

当由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址后,将与

对应左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位

的物理地址,对存储单元寻址。

14.在80806/8088CPU中物理地址和逻辑地址是指什么?他们之间有什么联

系?有效地址EA是怎样产生的?

答:物理地址即实际地址,逻辑地址即偏移地址,包括段寄存器值即偏移量。

物理地址等于段寄存器内容左移四位加偏移地址。有效地址EA就是偏移地址,

按寻址过程的不同组合而产生的。

15.存储单元与物理地址的是什么关系?在一个逻辑段中,每个单元的段地

址如何?而偏移地址又如何?

答:存储单元与物理地址是一一对应的。在一个逻辑段中,每个单元的段地

址是通过段地址寄存器的内容确定,一般为将段寄存器的内容左移4位就成为段

地址。偏移量就是相对于段地址的偏移,按不同的寻找方式以16位二进制数构成。

16.在8086/8088CPU中AX、BX、CX、DX既可以用作数据寄存器,又

可以用作地址指针寄存器的是谁?

答:BX和DX。BX在间接寻址中作地址寄存器,段寄存器为DS,在变址寻

址和XLAT指令中作基址寄存器;DX在间接I/O寻址时为地址寄存器。

17.如何选择80806/8088CPU工作在最小方式或最大方式?在最小方式下构

成计算机体系的最小配置应有那几个基本部分组成?说明两种方式下主要信号区

别。

答:最小和最大工作模式是以系统有几个控制芯片来决定的,当系统只有一

个控制芯片,则系统工作在最小工作模式,否则为做大工作模式。当80806/8088

CPU的MN/而引脚接地时系统工作在最大方式,接+15V时工作在最小方式。

最小方式时,全部控制信号由CPU本身提供。

最大方式下,控制信号不是由CPU本身提供,而是由系统的另外部分提供,

比如8288总线控制器提供。

18.在多处理器系统中,8086如何协调微处理器对总线的占有权。

答:在多处理器系统中,8086CPU是通过出让总线占用权来协调不同处理器

对总线的占有使用。用LOCK总线锁定信号,低电平有效,CPU输出此信号表示

不允许总线上的主控设备占用总系,该信号由系统指令前缀LOCK使其有效,并

维持到下一条指令执行完毕为止,此外,CPU的INTR引脚上的中断请求也会使

LOCK引脚从第一INTA脉冲开始直至第二个INTA脉冲结束保持低电平。这样就

保证在中断响应周期之后,其他主控设备,能占用。

19.说明空闲状态与等待状态的差别。说明何谓指令周期、机器周期和时钟周

期。

答:空闲状态:空闲是指没有操作,即CPU的idle引脚有效,CPU处于空闲

状态。

指令周期:执行一次指令所用的时间。

机器周期:CPU访问一次存储器或I/O接口所用的时间。

时钟周期:主频的倒数。

20.在8086中地址/数据复用线是如何区分的?

答:作为复用引脚,在总线周期的T1状态用来输出要寻址的存储器或I/O端

口地址;在T2状态浮置成高阻状态,为传输数据做准备;在T3状态,用于传输

数据,T4状态结束总线周期。当CPU响应中断以及系统总线“保持响应”时,服用

先都被职位高阻状态。

1.8086和8088处理器内部一般包含哪些主要部分?内部结构的差异?

2.什么是堆栈?它有什么用途?堆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论