理论教育 微机原理与接口技术复习指导及习题解答

微机原理与接口技术复习指导及习题解答

时间:2023-11-04 理论教育 版权反馈
【摘要】:9位中有3位作为控制标志位,6位作为状态标志位。AF主要用于BCD码运算中进行结果调整。表2.4 双字12345678H在存储器中的存放9.说明8086的BIU和EU的主要功能。在指令执行期间,EU测试标志位,根据指令执行的结果修改标志位。这个过程是通过BIU中的20位地址加法器实现

微机原理与接口技术复习指导及习题解答

1.8086处理器内部一般包括哪些主要部分?

8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。

2.什么是总线?一般微机中有哪些总线?

所谓总线是指计算机中传送信息的一组通信导线,它将各个部件连接成一个整体。在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。外部总线又分为地址总线、数据总线和控制总线。随着计算机技术的发展,总线的概念越来越重要。微机中常用的系统总线有PC总线、ISA总线、PCI总线等。

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

堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证将其逐次正确地返回。堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。若是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减小,但SP始终指向栈顶。

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

8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。9位中有3位作为控制标志位,6位作为状态标志位。

IF:中断控制标志位。当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。

TF:单步运行标志位。当TF=1时,单步运行;当TF=0时,连续运行程序。

DF:方向标志位。当DF=0时,串操作地址按增量修改;当DF=1时,串操作地址按减量修改。

SF:符号(负数)标志位。当运算结果的最高位为1(负数)时,SF=1;反之SF=0。

ZF:零标志位。当运算结果为0时,ZF=1;否则ZF=0。

AF:辅助进位/借位标志位。当进行算术运算低4位有进位/借位时,则AF=1;否则AF=0。AF主要用于BCD码运算中进行结果调整。

PF:奇偶标志位。当运算结构低8位中1的个数为偶数时,PF=1;否则PF=0。

CF:进位/借位标志位。当算术运算结果最高位有进位/借位时,CF=1;否则CF=0。逻辑运算时CF=0,循环移位指令也影响CF标志位。

OF:溢出标志位。当符号数算术运算结果有溢出时,OF=1;否则OF=0。

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

8086 CPU中有4个16位的通用寄存器,即AX、BX、CX、DX。每个16位寄存器又可分为2个,共8个8位寄存器:AH、AL、BH、BL、CH、CL、DH、DL。

8086 CPU有4个段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES,用来存放各段的起始地址。

FR用来存放标志位。IP用来存放程序地址的偏移量,它不能提供给程序员编程。

SP是堆栈指针,专门用来指示堆栈位置。

BP为基址指针,作为基址寄存器使用,它与变址寄存器SI、DI配合作为一个寻址方式。BP主要用来访问堆栈段中的数据。

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

若CS=8000H,现行代码段可寻址的存储空间范围为80000H~8FFFFH。

7.设现行数据段位于存储器的B0000H~BFFFFH,试说明DS段寄存器的内容。

DS=B000H。(www.daowen.com)

8.设双字12345678H的起始地址为A001H,试说明这个双字在存储器中是如何存放的。

该双字在存储器中的存放如表2.4所示。

表2.4 双字12345678H在存储器中的存放

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

8086 CPU的BIU对外提供16位双向数据总线和20位地址总线。它负责完成所有的外部总线操作,即完成取指令、指令排队、读与写操作、地址转换和总线控制。

指令单元EU的主要功能是完成指令译码与执行指令工作。EU从BIU的指令队列输出端取得指令,对指令的代码进行译码,产生操作数地址并将其传送给BIU,向BIU申请完成存储器或I/O的读写周期,对操作数进行指令规定的操作。在指令执行期间,EU测试标志位,根据指令执行的结果修改标志位。若指令队列是空的,EU等待下一次取得指令字节,且修改指令队列的输出指针。EU有一个16位的ALU,专门用来对操作数进行算术和逻辑运算。

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

所谓地址锁存器就是一个暂存器。由于8086 CPU的地址和数据线是分时复用的,所以在数据占用总线之前,必须先把总线上的地址码暂存起来(暂存到地址锁存器中)。这样,在读写总线周期中由地址锁存器提供地址信号。

11.8086 CPU的最大寻址范围是多少?如何实现对整个地址空间进行寻址?

8086的存储器最大寻址范围为1 MB(地址为00000H~FFFFFH);I/O寻址的最大范围为64 KB(口地址为0000H~FFFFH)。对1 MB存储器的寻址是通过段寄存器来实现的,每个存储器的段位为64 KB,1 MB的存储器可以分为若干个64 KB段,利用段寄存器可寻址整个存储空间。对I/O空间的寻址可使用直接寻址(对8位口地址),也可使用DX进行间接寻址(对16位口地址)。

12.在8086 CPU中,物理地址和逻辑地址是指什么?它们之间有什么联系?有效地址EA是怎样产生的?

8086系统中的物理地址就是存储器的实际地址(或称为绝对地址),它是20位地址。而逻辑地址是指段地址和偏移量地址,无论是段地址还是偏移量地址都是16位地址。在程序运行时,有效地址EA是通过把段地址自动左移4位加上对应的偏移量形成20位物理地址的。这个过程是通过BIU中的20位地址加法器实现的。

13.如何选择8086 CPU工作在最小模式或最大模式?在最小模式下构成计算机系统的最小配置应有哪几个基本部件?说明两种方式下主要信号的区别。

8086 CPU有一个引脚,由该引脚来决定系统是工作于最大模式还是最小模式。当时,则CPU工作于最小模式,在最小模式下,构成系统的最小配置除8086 CPU外,还应有8284时钟发生器、20位地址锁存器(用3片8282或74LS373实现)、数据驱动器(若存储器RAM较大,用2片8286或74LS245实现)、ROM芯片、RAM芯片及必要的接口电路。当时,CPU工作于最大模式。

两种组成方式对CPU引脚24~31的定义是不同的。在最小模式下,CPU的所有控制信号都是由自身提供的,如存储器与I/O的读写信号、数据允许与传送方向信号、地址锁存信号、中断响应信号、总线请求与响应信号。而在最大模式下,上述信号除了总线请求与响应信号外,其他控制信号都是由3个状态信号经总线控制器8288译码产生的。

14.在多处理器系统中,8086如何协调微处理器对总线的占用权?

在多处理器系统中由总线裁决器8289协调各处理器对总线的占用权。对于系统中的各处理器来说,它们无须知道总线裁决器的存在,都认为系统总线是为自己独占的。实际上,在处理器没有占用总线时,8289阻止其总线控制器8288、数据收发器8286及地址锁存器8282去访问总线。对于该处理器来说,系统总线呈“未准备好”状态,处理器就进入等待状态,并将保持到其对应的总线裁决器获得总线使用权。由此可见,总线裁决器的作用是协调系统总线上各处理器的动作,避免各个总线主设备之间的竞争。

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

CPU的空闲周期是指总线接口部件BIU既不从存储器取指令,也不与存储器或I/O端口传送数据。此时BIU执行一系列T1状态。一个空闲状态就是一个时钟周期,在总线周期之间可以插入若干个空闲状态。而等待状态TW是指CPU在读写存储器或I/O端口时,若存储器或I/O端口没有“准备就绪”,即在总线周期的T3检测READY信号,发现其为低电平,则在下一个时钟插入一个TW状态,用以延长总线周期。

指令周期是指取出和执行一条CPU指令所需的时间。计算机的脉冲源产生具有一定频率和宽度的脉冲信号(称为主脉冲),两个相邻脉冲前沿的时间间隔称为一个时钟周期(或称为T状态)。计算机在执行一条指令时,总是把一条指令分成若干个基本动作(如存储器的读、写),通常由3~5个时钟周期(即T状态)来完成一个基本操作,用来完成一个基本操作的时间(3~5个T状态)就称为一个机器周期。根据指令的功能,一条指令通常需要1~5个机器周期。早期的计算机由于运行速度较慢,指令周期、机器周期和时钟周期是有明显差别的。一个指令周期包含着若干个机器周期,而一个机器周期又包含着几个时钟周期。一个时钟周期(即T状态)是CPU操作的最小单位。

当然,随着计算机运行速度的提高,现在的计算机用1~2个时钟周期就可完成一条指令了,故指令周期、机器周期和时钟周期之间的差别越来越小了。

16.在8086中,地址/数据复用信号是如何区分的?

在8086中,地址/数据复用信号是在时间上区分的。在总线周期的T1状态,CPU在这些引脚上输出存储器或I/O端口地址,在T2、T3、T4状态则输出数据收发信号。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈