习题2-8086cpu
- 格式:pdf
- 大小:182.64 KB
- 文档页数:4
1.8086微处理器指令队列长度为:2.8086CPU若在最小工作方式,下列控制信号在读/写总线周期怎样组合才能从存贮器中读出信息M/IO DT/R RD WR3.当RESET信号进入高电平状态后(即初始化状态),将使8086微处理器的哪个寄存器置成FFFFH4.8088/8086CPU的输入输出指令,它们的直接/间接寻址能力最大为8086CPU是在总线周期的哪个状态用地址锁存允许信号ALE来解决地址/数据线和地址/状态线的分时复用的6. .用64K*4位芯片,组成512K*32位的存贮器模块,需要多少片64K*4的存贮器芯片7. 8088/8086微处理器中,标志寄存器共有状态标志和控制标志几位(6-状态、3-控制)8. 8088/8086CPU是用哪个控制信号来解决地址/数据、地址/状态线的分时复用的(ALE)9. CPU与接口之间数据传送,是以什么形式进行的(并行)10. 8086CPU的基本总线周期可分为几个时钟周期(4)11. 用64K*1位的RAM芯片构成128KB的存贮器,需要个RAM芯片。
设计算机系统为20位地址线,采用全译码方法,需要作为片外地址译码。
12. 在微型计算机系统中,CPU 与外设数据常用的三种传送控制方式(条件、中断、DMA)13. 8086微处理器设计成两个独立的功能部件,它们分别为(EU、BIU)。
14. 当8088/8086 CPU的工作方式引脚MN/MX 接+5V电源时,则8088/8086CPU工作于(最),当MN/ MX接地时,则8088/8086CPU 工作在(最大)15. 8086微处理器中,共有16位寄存器数为(14-A-D、BP SP SI DI IP FR DS SS CS ES)16. 名词解释及简答题:时钟周期、指令周期、总线周期;计算机接口技术、物理地址、逻辑地址、接口的基本功能;17 8088/8086 CPU的20位物理地址是怎样形成的当CS=2300H,IP=0110H时,求它的物理地址。
第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
微机原理与接口技术复习题微机原理复习题一、填空题1.在8086CPU中,由于BIU和EU分开,所以_取指___和_执指___ 可以重叠操作,提高了CPU的利用率;2.8086CPU从偶地址访问内存1个字时需占用1个总线周期,而从奇地址访问内存1个字操作需占用 2个总线周期。
3.IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为64K字节。
4.8086微处理机在最小模式下,用M/IO来控制输出地址是访问内存还是访问I/O。
5.假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(264E5H)=2450H,则执行指令JMP BX后,(IP)= 1256H ;执行指令JMP TABLE[BX]后,(IP)= 3280H ;执行指令JMP [BX][SI]后,(IP)= 2450H 。
6.数据段中有以下定义:ARRAY1 EQU 16HARRAY2 DW 16H请指出下面两条指令的寻址方式:MOV AX,ARRAY1;寻址方式立即数寻址方式。
MOV AX,ARRAY2;寻址方式直接寻址方式。
7.指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是前一个AND是一个命令、后一个AND是一个运算符。
8.指令LOOPZ/LOOPE是结果相等或零发生转移的指令。
而指令LOOPNZ/LOOPNE则是结果不相等或不为零发生转移的指令。
9.串处理指令规定源寄存器使用SI,源串在DS段中;目的寄存器使用DI,目的串必须在ES段中。
10.8086CPU的9个标志位中,属状态标志的有___CF,PF,AF,SF,OF,ZF______。
11.中断类型码为6的中断向量一定存放在___4___个连续单元中,若其入口地址为3040:2010,则这四个单元中的具体内容依次为__10,20,40,30______ 。
第二章1.8086CPU由哪两部分组成?它们的主要功能是什么?8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。
总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。
所有与外部的操作由其完成。
指令执行部件EU的功能:指令译码,执行指令。
2.8086CPU中有哪些寄存器?各有什么用途?8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。
4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。
也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。
指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。
段寄存器给出相应逻辑段的首地址,称为“段基址”。
段基址与段内偏移地址结合形成20位物理地址。
指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。
16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。
5.要完成下述运算或控制,用什么标志位判断?其值是什么?⑴比较两数是否相等?将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。
⑵两数运算后结果是正数还是负数?用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。
⑶两数相加后是否溢出?用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。
⑷采用偶校验方式。
判定是否要补“1”?用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。
(5)两数相减后比较大小?●ZF=1时,说明两数是相等的;●ZF=0时:无符号数时,CF=0,被减数大;CF=1,被减数小。
带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。
习题22.1 8086CPU具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O 端口时,使用地址线16条,最多可寻址64K 个I/O端口。
2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。
8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。
EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。
2.3 8086CPU中的指令队列的作用是预取指令,其长度是6 字节。
2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。
为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。
2.5 8086的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志寄存器FLAG中标志位的含义和作用标志位含义作用CF进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF奇偶标志PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1AF辅助进位标志AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位ZF零标志ZF=1,运算结果为零;ZF=0,则运算结果不为零SF符号标志SF=1,运算结果为负数;SF=0,则结果为正数OF溢出标志OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出TF陷阱标志TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序IF中断允许标志IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。
第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成阐述各部分的主要功能。
解:微处理器内部结构由四部分组成:(1)算术逻辑运算单元ALU :完成所有的运算操作;(2)工作寄存器:暂存寻址信息和计算过程中的中间结果;(3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU 完成指定操作;(4)I/O 控制逻辑:处理I/O 操作。
2. 微处理器级总线有哪几类各类总线有什么作用解:微处理器级总线有三类:(1)数据总线:传送信息;(2)地址总线:传送地址码;(3)控制总线 传送控制信号。
3. 为什么地址总线是单向的,而数据总线是双向的解:地址码只能由CPU 生成。
而数据需要在CPU 和存储器之间传输。
4. 8086/8088微处理器内部有哪些寄存器其主要作用是什么解:8086CPU 内部有14个16位寄存器,其中8个通用寄存器(4数据寄存器AX 、BX 、CX 、DX ,4地址指针/变址寄存器SI 、DI 、SP 、BP ),4个段寄存器(CS 、DS 、ES 、SS ),2个控制寄存器(指令指针IP ,微处理器状态字PSW )。
应该注意的是:可以在指令中用作为地址指针的寄存器有:SI 、DI 、BP 和BX ;在微处理器状态字PSW 中,一共设定了9个标志位,其中6个标志位用于反映ALU 前一次操作的结果状态(CF ,PF ,AF ,ZF ,SF ,OF ),另3个标志位用于控制CPU 操作(DF ,IF ,TF )。
5. 如果某微处理器有20条地址总线和16条数据总线:(1)假定存储器地址空间与I/O 地址空间是分开的,则存储器地址空间有多大(2)数据总线上传送的有符号整数的范围有多大解:(1)存储器地址空间为:2021MB =(2)有符号数范围为: 15152~21--, 即 -32768~327676. 将十六进制数62A0H 与下列各数相加,求出其结果及标志位CF 、AF 、SF 、ZF 、OF 和PF的值:(1)1234H;(2)4321H;(3)CFA0H;(4)9D60H解:(1)74D4H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=1(2)A5C1H CF=0 AF=0 SF=1 ZF=0 OF=1 PF=0(3)3240H CF=1 AF=0 SF=0 ZF=0 OF=0 PF=0(4)0000H CF=1 AF=0 SF=0 ZF=1 OF=0 PF=17.从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:(1)1234H;(2)5D90H;(3)9090H;(4)EA04H解:(1)C754H CF=1 AF=0 SF=1 ZF=0 OF=0 PF=0(2)12B0H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=0(3)45B0H CF=0 AF=0 SF=0 ZF=0 OF=1 PF=0(4)9F24H CF=0 AF=0 SF=1 ZF=0 OF=0 PF=19.写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876解:物理地址=段地址*10H+偏移地址(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H(2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH(3)段地址:267AH,偏移地址:B876H,物理地址:32016H10.给定一个数据的有效地址为2359H,并且(DS)=490BH,求该数据的物理地址。
习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。
了解80X86CPU的特点。
2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。
总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。
执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。
2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。
2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类。
其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。
这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。
2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。
2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。
一、填空题1.8086系统中,如果寄存器CS=7850H,IP=285AH,则程序指令的实际地址为。
2.8086CPU的数据总线的位数为位,地址总线的位数为位。
3.当8086CPU的引脚MN/MX接+5V电源时,便工作于模式。
4.8086CPU主要由和执行部件(EU)两部分组成。
5.8086CPU典型的总线基本周期包含4个状态(即T1、T2、T3、T4),如要插入一个等待状态Tw,应在状态之后插入。
6. 8086CPU提供的能接收外部中断请求信号的引脚有两个,它们分别是和。
7.8086CPU从奇地址读写一个字时,需要个总线周期。
8.8086CPU的标志寄存器中的方向标志位是F。
9.已知某微机控制系统中的RAM容量为8K×8,首地址为4800H,其最后一个单元的地址是H。
10.CPU与外设进行数据交换有、、三种控制方式。
11.8253有个通道,各采用种操作方式,每条计数通道与外设接口有、、信号线。
12. 8086CPU的内存寻址空间最大为字节,I/O接口寻址能力为个8位端口。
13. 8086CPU指令队列长度为,8088CPU指令队列长度为。
14.CPU通过接口电路同外设间传送的信息一般包括数据信息、信息和控制信息。
15. 8086系统中,若某数据区的起始地址为A700H:9200H,则该数据区的首字节单元的物理地址为。
16. 8086CPU的内存寻址空间最大为字节,I/O接口寻址能力为个8位端口。
17 8259A是中断优先级管理器芯片。
一片8259A最多能管理级中断。
18. 8086CPU从偶地址读写一个字时,需要个总线周期,从奇地址读写一个字时,需要个总线周期。
19. 8259A共有个命令字,其中个初始化命令字,个操作命令字。
20. 8255A可编程接口具有个8位并行输入输出端口,有种工作方式,有类控制字。
21.8086CPU有个状态标志位,有个控制标志位。
22.若用4K×1位的RAM芯片组成8K×8位的存储器,需要芯片,A19~A0地址线中的~参于片内寻址,~用做芯片组的片选信号。
《微机原理与接口技术》习题参考答案习题21.为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。
因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。
2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。
指令队列在BIU中。
它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。
3.8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。
其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。
8086的指针寄存器和变址寄存器不可分割为8位寄存器。
4.8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。
在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。
8086就是通过IP寄存器来控制指令序列的执行流程。
5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。
它们的含义如下:CF:进位标志。
它记录运算时从最高有效位产生的进位值或结果值。
最高有效位有进位或有借位时CF=1,否则CF=0。
PF:奇偶标志。
它记录运算结果的奇偶检验条件。
当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。
AF:辅助进位标志。
在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。
习题解答:1、8086CPU从功能上看可分为哪两大部分?它们的主要作用是什么?答:8086CPU功能结构可分为两大部分,即总线接口单元BIU(BUS INTERFASE UNIT)和执行单元EU(Execution Unit)构成。
BIU负责与存储器和外设传递数据,具体地说,BIU从内存指定部分取出指令,送到指令队列排队;在执行指令时所需的操作数也是由BIU从内存的指定区域取出传送到EU去执行或者把EU的执行结果传送到指定的内存单元或外设中。
EU 负责指令的执行,它从指令队列中取出指令,译码并执行,完成指令所规定的操作后将指令执行的结果提供给BIU。
2、8086CPU中有哪些通用寄存器?各有什么用途?答:8086/8088CPU的通用寄存器包括4个数据寄存器AX、BX、CX、DX,2个地址指针寄存器SP和BP,2个变址寄存器SI和DI。
通用寄存器都能用来存放运算操作数和运算结果,这是它们的通用功能,除此之外在不同的场合它们还有各自的专门用途。
(1)数据寄存器数据寄存器包括4个寄存器AX、BX、CX、DX,用于暂时保存运算数据和运算结果,由于每个16位数据寄存器可分为2个8位数据寄存器,这4个数据寄存器既可以保存16位数据,也可保存8位数据。
AX(accumulator)称为累加器,常用于存放算术逻辑运算的操作数,所有输入输出指令也都通过AX与外设进行信息传输。
BX(base)称为基址寄存器,常用于存放访问内存时的基地址。
CX(count)称为计数器,在循环和串操作指令中用来存放计数值。
DX(data)称为数据寄存器,在双字长(32位)乘除运算中将DX与AX两个寄存器组合成一个双字长的数据,其中DX存放高16位数据,AX存放低16位数据,另外在间接寻址的输入输出指令中把要访问的输入输出端口地址存放在DX中。
(2)指针寄存器指针寄存器包括堆栈指针寄存器SP(stack pointer)和基址指针寄存器BP(base pointer)。
习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。
了解80X86CPU的特点。
2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。
总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。
执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行。
2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。
2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类。
其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。
这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。
2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。
2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。
控制标志(3位),在8086特定指令操作中起控制作用。
(2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。
例如利用控制标志可以控制程序的单步调试。
(3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。
控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。
2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化?【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。
(2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。
(3)8086CPU执行转移指令时,首先清空当前指令队列寄存器,然后从新地址取指令重新填满指令队列。
2.8 8086CPU的形成三大总线时,为什么要对部分地址线进行锁存?用什么信号控制锁存?【答】为了确保CPU对存储器和I/O端口的正常读/写操作,要求地址和数据同时出现在地址总线和数据总线上。
而在8086CPU中AD0~AD15总线是地址/数据复用的,因此需在总线周期的前一部分传送出地址信息,并存于锁存器中,而用后一部分周期传送数据。
8086CPU中是通过CPU送出的ALE高电平信号来控制锁存的。
2.9 将两数相加,即0100 1100加 0110 0101,CF、PF、AF、ZF、SF、OF各为何值?【答】0100 1100+0110 0101=10110001CF=0,PF=1,AF=1,ZF=0,SF=1,OF=12.10 存储器的逻辑地址由哪几部分组成?存储器的物理地址是怎样形成的?一个具有32位地址线的CPU,其最大物理地址为多少?【答】存储器的逻辑地址由段地址与段内偏移地址组成。
存储器的物理地址:将16位段地址左移4位后,加上16位段内偏移地址,形成20位物理地址。
一个具有32位地址线2=4*1024*1024*1024B=4GB。
的CPU,其最大物理地址为322.11 存储器物理地址400A5H~400AAH单元现有6个字节的数据分别为11H,22H,33H,44H,55H,66H,若当前(DS)= 4002H,请说明它们的偏移地址值。
如果要从存储器中读出这些数据,需要访问几次存储器,各读出哪些数据?【答】由于:物理地址=400A5H=段地址*16+偏移地址=40020H+偏移地址偏移地址=400A5-40020=85H若以最少访问次数而言,可以如下操作:从奇地址400A5H中读出一个字节11H;从偶地址开始400A6H、400A7两个单元读出一个字3322H;从偶地址400A8H、400A9H 两个单元读出一个字5544H;从偶地址400AAH中读出一个字节66H。
最少读4次。
2.12 在 8086中,逻辑地址FFFFH∶0001H、00A2H∶37F0H和B800H∶173FH的物理地址分别是多少?【答】(1)FFFFH*16+0001H=FFFF0H+0001H=FFFF1H(2)00A20+37F0=4210H(3)B8000+173F=B973FH2.13 在 8088/8086中,从物理地址12388H开始顺序存放下列三个双字节的数据,651AH,D761H和007BH,请问物理地址12388H~1238DH6个单元中分别是什么数据?【答】物理地址12388H~1238DH单元中的数据如下表:Array2.14 8086/8088 CPU 有40条引脚,请按功能对它们进行分类?【答】地址总线:AD0~AD15,A16~A19;数据总线:AD0~AD15;控制总线:ALE, DEN, DT/R, BHE, M/IO, WR, RD, HOLD, HLDA, INTR, INTA, READY, RESET.2.15 8086/8088 CPU的地址总线有多少位?其寻址范围是多少?2=1MB.【答】8086/8088CPU的地址总线均为20位,8086/8088CPU的寻址范围为202.16 8086/8088 有两种工作方式,它们是通过什么方法来实现?在最大方式下其控制信号怎样产生?【答】MN/MX引脚接至电源(+5V),则8086CPU处在最小组态(模式); MN/MX引脚接地,则8086CPU处在最大组态(模式)。
在最大模式下,需要用外加电路来对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及对总线收发器8286的控制信号。
2.17 8086 CPU工作在最小模式(单CPU)和最大模式(多CPU)主要特点是什么?有何区别?【答】最小模式MN/MX接+5V,构成小规模的应用系统,只有8086一个微处理器,所有的总线控制信号均为8086产生,系统中的总线控制逻辑电路,减少到最小;不需总线控制器8288;适用于单一处理机系统。
最大模式MN/接地,用于大型(中型)8086/8088系统中,系统总是包含有两个或多个微处理器,其中一个主处理器就是8086或8088。
其它的处理器称协处理器,协助主处理器工作,需要总线控制器来变换和组合控制信号,需总线控制器8288; 适用于多处理机系统。
2.18 8086/8088 I/O 的读/写周期时序与存储器读/写周期的主要差异是什么?【答】在8086存储器周期中,控制信号M/IO始终为高电平;而在I/O周期中,M/IO始终为低电平。
2.19 CPU启动时,有那些特征?如何寻找8086/8088系统的启动程序?【答】在8088/8086系统中,CPU启动后,处理器的标志寄存器、指令指针寄存器IP、段寄存器DS、SS、ES和指令队列都被清零,但是代码段寄存器CS被设置为FFFFH。
因为IP=0000,而CS=FFFFH,所以,8088/8086将从地址FFFF0H开始执行指令。
通常,在安排内存区域时,将高地址区作为只读存储区,而且在FFFF0H单元开始的几个单元中放入一条无条件转移指令,转到一个特定的程序中,这个程序往往实现系统初始化、引导监控程序或者引导操作系统等功能,这样的程序叫做引导和装配程序。
2.20 8086和8088是怎样解决地址线和数据线的复用问题的? ALE信号何时处于有效电平? 【答】8086/8088采用时间分隔技术与地址锁存技术,通过地址锁存允许信号ALE锁存CPU送出的地址,有效解决地址线和数据线的复用问题。
ALE在T1状态有效,将CPU送出的20位地址锁存。
2.21 8086系统在最小模式时应该怎样配置?请画出这种配置并标出主要信号的连接关系.【答】8086在最小模式下的典型配置。
见教材的图2.7。
一片8284A,作这时钟发生器。
3片8282或74LL373,用来作为地址锁存器。
2片8286/8287作为总线收发器。
2.22 8086构成系统分为哪两个存储体?它们如何与地址、数据总线连接?【答】8086构成系统分为偶地址存储体和奇地址存储体。
偶地址存储体:连接D7~D0,A0=0时选通;奇地址存储体:连接D15~D8, BHE=0,A0=1时选通。
见教材图2.11。
2.23 BHE信号和A0信号是怎样的组合解决存储器和外设端口的读/写操作的?这种组合决定了8086系统中存储器偶地址体及奇地址体之间应该用什么信号区分?怎样区分?【答】BHE2.24 8086 CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入 T W等待周期?应插入多少个Tw,取决于什么因素?什么情况下会出现空闲状态Ti ?【答】8086CPU读/写总线周期包含4个时钟周期。
当CPU与慢速的存储器或外设I/O端口交换信息,系统中就要用一个电路来产生READY信号,并传递给CPU 的READY 引脚。
CPU 在3T 状态的下降沿对READY 信号进行采样。
如果无效,那么,就会在3T 之后插入等待状态w T 。
插入w T 的个数取决于CPU 接收到高电平READY信号的时间。
CPU 在不执行总线周期时,总线接口部件就不和总线打交道,此时,进入总线空闲周期。
自测试:1.选择题:(1)某微机具有16M 字节的内存空间,其 CPU 的地址总线应有(E )条。
A .26B .28C .20D .22E .24(2) 8086/8088 CPU 要求加到 RESET 引脚上的复位正脉冲信号,其宽度至少要( 4 ) 个时钟周期才能有效复位,如果是上电复位则要求正脉冲的宽度不少于( 50 )us 。