微机原理复习资料剖析.docx
18086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?微处理器(CPU) 总线接口部件(BIU):负责及存储器、I/O端口传送数据 执行部件(EU):负责指令的执行 协调工作过程: 总线接口部件与执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理: 每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时, 总线接口部件就 每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令 的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者 输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者 输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行 部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线 接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的 操作,然后再去响应执行部件发出的访问总线的请求。 当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲 状态。 在执行转移指令、调用指令与返回指令时,由于程序执行的顺序发生了改变,不再 是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情 况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一 个程序段中的指令28086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?通用寄存器:用于存放操作数与指针段寄存器 CS 控制程序区DS 控制数据区SS 控制堆栈区ES 控制数据区 标志寄存器F 的标志位:控制标志:OF、DF、IF、TF;状态标志:SF、ZF、AF、 PF、CF。 标志寄存器F 的各标志位置位情况: · CF:进位标志位。做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。 ·PF:奇偶标志位。当结果的低8 位中l 的个数为偶数时,该标志位置1;否则清0。 ·AF:半进位标志位。在加法时,当位3 需向位4 进位,或在减法时位3 需向位4 借位 时,该标志位就置1;否则清0。该标志位通常用于对BCD 算术运算结果的调整。 ·ZF:零标志位。运算结果各位都为0 时,该标志位置1,否则清0。 ·SF:符号标志位。当运算结果的最高位为1 时,该标志位置1,否则清0。 ·TF:陷阱标志位(单步标志位)。当该位置1 时,将使8086/8088 进入单步指令工作方式。 在每条指令开始执行以前,CPU 总是先测试TF 位是否为1,如果为1,则在本指令执 行后将产生陷阱中断,从而执行陷阱中断处理程序。该程序的首地址由内存的 00004H00007H38086/8088系统中储存器的逻辑地址与物理地址之间有什么关系?表示的范围各为多少?逻辑地址:段地址:偏移地址物理地址:也称为绝对地址,由段基址与偏移量两部分构成。物理地址及系统中的存储空间是一一对应的。 逻辑地址及物理地址两者之间的关系为:物理地址段地址×16+偏移地址 每个逻辑段的地址范围:0000:0000HFFFFH;0001:0000HFFFFH;FFFF: 0000HFFFFH;共有232个地址,但其中有许多地址是重叠的。 物理地址的地址范围:00000HFFFFFH4已知当前数据段位于储存器的A1000H到B0FFFH范围内,问DS=?A1000HA100:0000 以A100H 为段地址的64K 物理地址的范围是:偏移地址为 0000HFFFFH,即A100:0000HA100:FFFFHA1000H0000HA1000H0FFFFH A1000HB0FFFH,DSA100H1 中断向量表的功能是什么?已知中断类型码分别是84H与FAH,它们的中断向量应放在中断向量表的什么位置?答:(1)中断向量表的功能是当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。(2)中断类型号*4即可计算某个中断类型的中断向量在整个中断向量表中的位置。84H的位置:210H213H;FAH的位置:3E8H3EBH。2 如果8259A按如下配置则ICW1的值为多少?不需要ICW4,单片以及边缘触发。如要求产生的中断类型码在70H77H之间,则ICW2的值是多少?答:根据ICW1的格式分析可知,ICW1的值是00010010B。ICW2的值是70H(即中断类型码70H-77H的基值)。3.如果8259A用在80386DX系统中,用一般的EOI,缓冲模式主片,特殊全嵌套方式,则ICW4的值是什么?答:根据ICW4的格式分析可知,ICW4的值是00011101B。4. 如果OCW2等于67H,则允许何种优先级策略?为什么?解答:67H=0110 0111B,固定优先级6. 某系统中设置三片8259A级联使用,两片从片分别接至主片的IR2与IR6,同时,三片芯片的IR3上还分别连接了一个中断源,已知它们的中断入口均在同一段,段基址为4000H,偏移地址分别为1100H,40B0H,A000H,要求电平触发,普通EOI结束。画出它们的硬件连接图,编写全部的初始化程序。1 8253芯片共有几种工作方式?每种方式各有什么特点?答:8353起着计数或定时的作用,提供可编程的三个16位定时/计数器通道,它有方式0到方式5共6种工作方式,分别是:计数结束中断方式,可编程单程方式,频率发生器,方波发生器,软件触发的选通信号,硬件触发的选能信号。2某系统中8253芯片的通道02与控制端口地址分别为FFF0HFFF3H。定义通道0工作在方式2,CLK02MHz,要求输出OUT0为1kHz的速率波;定义通道l工作在方式CLKl输入外部计数事件,每计满100个向CPU发出中断请求。试写出8253通道0与通道1的初始化程序。6. 试说明定时与计数在实际系统中的应用?这两者之间有与联系与差别?答:定时信号,定时,延时,计数控制7. 定时与计数有哪几种实现方法?各有什么特点?软件定时:利用CPU执行某一指令需要一定机器周期的原理,在软件编程时循环执行一段指令,从而产生累积的定时。优点是不需要增加硬件。缺点是耗费CPU资源,故软件定时只适用于短时定时。而且,不同CPU的时钟频率不同,同一段软件延时程序在不同的机器上运行,可能结果不同,即兼容性不强。硬件定时与计数:以硬件计数器构成,计数脉冲触发硬件计数器计数,如果计数脉冲的周期固定,则计数同时产生定时。优点是不占用CPU资源,定时精确,定时范围大。缺点是增加一些硬件开销。硬软结合8. 试说明定时/计数器芯片Intel8253的内部结构。它由及CPU接口、一个控制寄存器以及三个16位计数器所组成。每个计数器通过3个引脚与外部联系,1个位时钟输入端CLK,一个为门控信号输入端GATE,别一个为输入端OUT.9. 定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么?4个端口地址:片内选址为00对应的计数器0,片内选址为01对应计数器1,片内选址为10 对应计数器2,片内选址为11对应控制寄存器。1试分析8255A方式0、方式1与方式2的主要区别,并分别说明它们适合于什么应用场合。答:方式0可以工作于无条件传送方式,也可工作于查询传送(条件传送)方式,可由 用户选择PCL与PCH中各一条线作为PA口与PB口的联络信号线,方式0不能工作于中断 传送方式; 方式1可以工作于查询传送方式与中断传送方式,芯片规定了PC口中6条线作为PA 口与PB口同外设之间的联络信号线以及同CPU之间的中断请求线2当8255A的A口工作在方式2时,其端口B适合于什么样的功能?写出此时各种不同组合情况的控制字。3若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式0,输出。试编写初始化程序。(口地址为80H83H)答:MOV DX,83MOV AL,94HOUT DX,AL4假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的来自A3A4A5A6A7=00101,试完成8255A的端口地址与初始化程序。MOV AL, 10010100b; AL方式控制字 OUT 83H, AL: 方式控制字8255控制口1读出8259内部寄存器的状态可用命令字OCW3读出(中断请求)与 (中断服务)寄存器,而用IN命令直接读出的是(中断屏蔽) 寄存器。2如果总线的频率为88MHz,总线的位宽为8位,则总线的带宽应为(88)。3CPU 从主存取一条指令并执行该指令的时间称为_指令周期_,它通常用若干个(时钟周期)来表示,而后者又包含有若干个时钟周期。48253有两种功能:(计数) 功能与(定时) 功能。58255的控制字共用一个端口地址,用控制字的第_位来区别。6微机系统启动时,CS=(0FFFF)H, IP=(0000)H, 若开机后要系统从08000H 单元开始执行程序,应在(0FFFF0)处设置一条跳转指令。7设8259A的操作命令字OCW2中,EOI=0,R=1,SL=1,L2L1L0=011,试指出8259A的优先权排队顺序(IRQ4、IRQ 5、IRQ6、IRQ7、IRQ0、IRQ1、IRQ2、IRQ3)。88259A工作在8086模式,中断向量字节ICW2=70H,若在IR3处有一中 断请求信号,这时它的中断向量号为(73H),该中断服务程序入口地址保存在内存地址为(1CC)H至(1CF)H的(4)个单元中。9Intel8253采用BCD码计数时,其最大计数值为(0000),此时的计数初值为(100H)。108255并行接口内部有(3)个端口,A口有(3)种工作方式,B口有(2)种工作方式。11已知程序段: MOV BX, CX NOT BX XOR BX, CX 执行上面程序段后,OF=(0), ZF=(0) 。12 中断触发的方式有(电平)触发与(边沿)触发两种。13 外部总线也称为(通信)总线,其中RS-232C是一种(串) 行通用总线。148253芯片中,时钟信号CLK与门控信号GATE分别所起的作用为(输入脉冲线),(门控信号输入引脚)15、某机字长32位,主存容量为16MB,单字长指令,有50种操作码,采用寄存器寻址、寄存器间接寻址、立即数寻址、直接寻址等寻址方式。请设计相应的指令格式?并说明每个字段的含义。16、某微机系统中使用1片8253,其端口地址为300H、301H、302H、303H,系统提供的计数脉冲频率为500KHz,CLK1由8253内其它计数器提供,对8253的初始化程序如下所示,阅读该程序,请完成。 (1)指出各计数器的工作方式、计数初值。 (2)画出8253及其及系统总线的硬件连接图并用文字表述以下程序(端口译码电路用框图表示即可)。 MOV DX, 303 MOV AL, 36H OUT DX, AL MOV DX, 300H MOV AL, 0F4H OUT DX, AL MOV AL, 01H OUT DX, AL OUT DX, 303H MOV AL, 54H OUT DX, AL MOV DX, 301H MOV AL, 0AHOUT DX, AL17、设在异步串行通信中,传送的数据为14H,另外包括1位起始位,1位偶校验位,2个停止位,波特率为2400,请画出该异步通信的波形示意图,并标注出各控制位与数据位。18、已知在PC系列机中,硬盘的中断类型码为76H,实时时钟的中断类型码为70H,设它们对应的中断矢量分别为C800H:0760H,F000H:E987H,它们是由8259中断控制器管理。依题意: (1)写出8259的ICW2初始化命令字。D7、D6、D5、D4、D3、 (2)说明两个中断请求分别从8259的哪个IR引脚引入。19某数据段中存有两个数据字1234H与5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH与3245H,试画出它们在储存器中的存放情况。20试分析下列程序段:ADDAX,BXJNCL2SUBAX,BXJNCL3JMPSHORTL5如果AX、BX的内容给定如下: AX BX(1)14C6H80DCH(2)B568H54B7H问该程序在上述情况下执行后,程序转向何处?解答:(1)AX = AX+BX=14C6H+80DCH=95A2H; CF=0:无进位,转移至12;(2)AX = AX+BX=B568H+54B7H=0A1FH; CF=1 有进位,继续执行; AX = AX-BX=0A1FH+54B7H=B568H; CF=1; 有借位,继续执行;无条件转移至SHORTL5218259A需_A_片级连可以扩展为64级优先级。A、9片 B、 8片 C、 7片 D、 6片 22现采用某异步串行发送器发送具有8个数据位的字符,并使用1个奇偶 校验位与2个停止位。若每秒发送100个字符,则其波特率为_B_b/s。A、1200 B 、1100 C、 1000 D、800238259工作在优先级自动循环方式,则IRQ4的中断请求被响应并且服务完毕以后,优先级最高的中断源是_B_。A、IRQ3 B、IRQ5 C、IRQ0 D、IRQ424AT机中如果对从片8259写入的ICW2=70H,则IR5的中断类型码是_D_ 。A、103H B、0D0H C、76H D、75H25MB/s的含义是_B_。A、总线上每秒传输的最大数据量B、总线上每秒传输的最大字节量C、总线上每秒传输的二进制位数D、总线上每秒传输的十进制位数26串行通信有_C_ 种基本工作方式。A、2 B、3 C、4 D、127对于8255芯片的描述正确的是_D_。A、A口只能输入,B口只能输出B、C口高4位只能输入,低4位只能输出C、C口高4位、低4位不能同时输入输出D、A、B、C口既可以输入,也可以输出288253芯片内部有完全独立的_B_。A、6个16位计数通道 B、3个16位计数通道C、6个8位计数通道 D、3个8位计数通道2980X86CPU用于中断请求的输入引脚信号是( A ) 。 AINTR与NMI B.INTA与NMI CINTR与INTA D INTE与IRET30设8255芯片的端口基地址是60H,寻址控制寄存器的命令是 B 。A、OUT 60H,AL B、OUT 63H,ALC、OUT 61H,AL D、OUT 62H,AL318086CPU每响应一次中断,需连续执行_B_个中断响应总线周期。A、1 B、2 C、3 D、432两片8259芯片级连后,可以管理_A_级中断。A、15 B、16 C、64 D、32338259工作在优先级自动循环方式,则IRQ4的中断请求被响应并且服务完 毕以后,优先级最高的中断源是_B_。A、IRQ3 B、IRQ5 C、IRQ0 D、IRQ4348259的中断请求信号可以是边沿触发与_B_。A、低电平触发 B、高电平触发C、上升沿触发 D、下降沿触发35RS-232C是一种_B_。A、并行总线标准 B、串行总线标准C、微机内部总线 D、串行内部总线368255芯片有_B_ 数据端口。A、3个16位 B、3个8位 C、4个16位 D、4个8位37对于8255芯片的描述正确的是_D_。A、A口只能输入,B口只能输出B、C口高4位只能输入,低4位只能输出C、C口高4位、低4位不能同时输入输出D、A、B、C口既可以输入,也可以输出38设8253芯片的端口基地址是60H,寻址控制寄存器的命令是_D_。A、OUT 60H,AL B、OUT 61H,ALC、OUT 62H,AL D、OUT 63H,AL39设8255芯片的端口基地址是60H,寻址控制寄存器的命令是_B_。A、OUT 60H,AL B、OUT 63H,ALC、OUT 61H,AL D、OUT 62H,AL408251芯片是可编程_A_接口芯片。A、串行通信 B、并行通信 C、计数器 D、定时器41微型计算机系统是由(硬件系统)与(软件系统)两大部分组成的。42CPU 从主存取一条指令并执行该指令的时间称为(指令周期),它通常用若干个(机器周期)来表示,而后者又包含有若干个时钟周期。43微机系统启动时,CS=(0FFFFH), IP=0000H, 若开机后要系统从08000H单元开始执行程序,应在(0FFFF0)处设置一条跳转指令。44Intel8253采用BCD码计数时,其最大计数值为(10000),此时的计数初值 为(0000)。458255并行接口内部有3个端口,其中A口有(3)种工作方式,B口有(2) 种工作方式。46串行通信的传输制式有三种:单工传送、(全双工)传送与(半双工)传送。47A/D转换器的主要功能是将(模拟)量转换为(数字)量。48设8259A的操作命令字OCW2中,EOI=0,R=1,SL=1,L2L1L0=011,试指出8259A的优先权排队顺序(IRQ4、IRQ5、IRQ6、IRQ7、IRQ0、IRQ1、IRQ2、IRQ3)。49. 存储器的存取速度可用(存储时间)与(存储周期)两个时间参数来衡量, 其中后者比前者大。50. 8086/8088CPU的数据线与地址线是以(分时复用)方式轮流使用的。51、某系统中8253芯片的通道02与控制端口地址分别为FFF0HFFF3H。定义通道0工作在方式2,CLK02MHz,要求输出OUT0为1kHz的速率波;定义通道l工作在方式CLKl输入外部计数事件,每计满100个向CPU发出中断请求。试写出8253通道0与通道1的初始化程序。解:通道0的计数值为:2MHz/1kHz = 2000通道0的初始化程序:MOV AL,00110100B 计数器0,先读/写低8位,再读/写高8位,模式2,二进制MOV DX,FFF3HOUT DX, ALMOV AX, 2000MOV DX,FFF0HOUT DX,ALMOV AL, AHOUT DX, AL通道0的初始化程序:MOV DX,FFF3H MOV AL,01110000B 计数器1,先读/写低8位,再读/写高8位,模式0,二进制OUT DX, ALMOV DX, FFF1HMOV AX, 100OUT DX, ALMOV AL, AHOUT DX, AL52、假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的来自A3A4A5A6A7=00101,试完成8255A的端口地址与初始化程序。解:端口地址:1010000XB(A0H,A1H),1010001XB(A2H,A3H),1010010XB(A4H,A5H),1010011XB(A6H,A7H)控制字:10010000(90)MOV AL,90H OUT A6H,AL53、 设有100个字节数据(无符号数),存放在数据段中EA=2000H的存储区内。下程序应能从该数据区中找出最大的一个数并存入同一数据段EA=21OOH的单元中,请完成该程序(在空白处填入适当的语句)。 MAX: MOV BX, 2000H MOV AL, BX MOV CX,_63H(或99)_ LOOP1: INC BX CMP AL,BX _JAE_ LOOP2 MOV AL, BX LOOP2: DEC CX JNZ _LOOP1_ MOV _2100H_, AL54若SP=3000H, AX=4355H, BX=5466H, 已知程序段: PUSH AX PUSH BX POP DX 执行上面程序段后,AX=_4355H_, BX=_5644H_, DX=_5466H_, SP=_2FFFH_。55已知程序段: MOV BX, CX NOT BX XOR BX, CX 执行上面程序段后,OF=_0_, ZF=_0_ 。