楼第2章微处理器习题解答

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

习题解答:1、8086CPU从功能上看可分为哪两大部分?它们的主要作用是什么?答:8086CPU功能结构可分为两大部分,即总线接口单元BIU(BUSINTERFASEUNIT)和执行单元EU(ExecutionUnit)构成。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(stackpointer)和基址指针寄存器BP(basepointer)。SP和BP都是16位的寄存器,用来存放运算过程中的操作数,但更重要的用途是存放堆栈地址。SP用于存放栈顶的偏移地址,即栈顶单元与栈首(第一个)单元相应的单元数(偏移量),SS用于存放堆栈段的基地址,即堆栈首单元的基址BP用于存放要访问的内存单元的基地址。(3)变址寄存器变址寄存器包括源变址寄存器SI(sourceindex)和目的变址寄存器DI(destinationindex),变址寄存器常用于指令的间接寻址或变址寻址,SI、DI一般与段寄存器DS联用,以确定数据段中某一内存单元的实际地址。除此以外,在串操作指令中规定,用SI存放源操作数的偏移地址,用DI存放目标操作数的偏移地址。3、简述8086CPU系统中20位物理地址是如何形成的?答:存储单元的20位物理地址=16位的段基地址×10H+16位的段内偏移量。段基地址和段内偏移量又称为逻辑地址(logicaladdress),逻辑地址常写成XXXXH:YYYYH。其中XXXXH是段基地址,YYYYH是段内偏移量,都是16位无符号数。4、8086CPU系统中的存储器为什么要采用分段结构?答:8086CPU与内存间的信息交换要通过20根地址线发出20位的物理地址,但8086CPU内部的寄存器都为16位,在程序中也只能使用16位地址,寻址范围局限在64KB,为解决这个问题,8086CPU采用分段方法管理1MB的内存空间,即将1MB的内存分为若干个逻辑段,每个逻辑段最大长度为64KB,各段可连续或不连续排列,段的区域可部分重叠,也可全部重叠。8086CPU把内存分为4种逻辑段,即代码段、数据段、堆栈段和附加段,每个段由连续的存储单元构成,当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址间的距离(又称段内偏移量EA或偏移地址,以字节数计)即可确定其物理地址。采用段基址和段内偏移量的方式组成物理地址的优点是:满足8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可,容易实现程序的浮动装配。5、8086采用分段存储管理模式。已知当前执行的程序中某条指令的物理地址为5A1F6H,IP=10F6H,则当前CS的内容为多少?答:由物理地址与逻辑地址的关系,可知CS的内容为5910H。6、段寄存器的作用是什么?为什么要使用段寄存器?答:段寄存器专门存放16位的段基地址信息,它用于与偏移地址一起产生访问存储单元的20位物理地址。7、什么是逻辑地址?什么是物理地址?在8086系统中如何通过逻辑地址找到物理地址?答:逻辑地址由段基地址和段内偏移量组成,是指令中引用的形式地址,物理地址是存储单元的20位地址,物理地址=段基地址×10H+段内偏移量。8、标志寄存器有几个状态标志位?它们是如何定义的?答:6个状态标识位。进位标志位CF(carryflag):反映运算中最高有效位(字节运算为D7位,字运算为D15位)是否产生进(借)位,CF=1表明出现进(借)位,CF=0表明没有出现进(借)位,CF主要用于无符号数加减运算,移位和循环移位指令也影响CF位。奇偶标志位PF(parityflag):反映运算结果的低8位中“1”的个数的奇偶性,若“1”的个数为偶数个,则PF=1,否则PF=0。辅助进位标志位AF(auxiliarycarryflag)反映运算中低4位向高4位(即D3向D4)有无进(借)位情况,有则置1,无则置0,AF主要用于BCD码算术运算指令。零标志位ZF(zeroflag):反映运算结果是否为0,若为0则ZF=1,反之则为0。符号标志位SF(signflag):反映带符号数运算结果最高位的情况,若SF=1表示结果为负数,SF=0表示结果为正数。溢出标志位OF(overflowflag):反映带符号数运算结果是否超出机器能表示的范围,对字节运算范围为-128~+127,对字运算范围为-32768~+32767,若超出则OF=1,否则OF=0。9、已知当前数据段位于存储器的B4000到C3FFFH范围内,则段寄存器DS的内容为多少?答:B400H。10、若已知当前(DS)=7F06H,在偏移地址为0075H开始的存储器中连续存放4个字节的数据,分别为11H、22H、33H、44H。请指出这些数据在存储器中的物理地址。答:7F0D5H单元存放11H,7F0D6H单元存放22H,7F0D7H单元存放33H,7F0D8H单元存放44H。11、简述8086CPU引脚中可以复用的引脚和与中断有关的引脚?答:复用的有AD0~AD15、A16~A19/S3~S6、7/SBHE等;与中断有关的有NMI、INTR、INTA等。12、简述8086CPU中RESET引脚的作用?答:RESET引脚是系统复位控制引脚,输入的RESET要求至少保持4个时钟周期的高电平宽度,才能停止CPU的现行操作,完成内部的复位过程,当RESET变为低电平时,CPU重新启动执行程序。在复位状态,CPU内部寄存器被重新初始化,除CS=0FFFFH外,FLAGS、IP、DS、ES、SS及其他寄存器均初始化为0000H,并从FFFF0H存储单元开始执行指令。一般在该地址放一条转移指令,以转移到复位后要执行的程序的入口。13、NMI和INTR都是中断请求输入引脚,简述两者有什么区别?答:(1)NMI(non-maskedinterrupt,输入)NMI是非屏蔽中断请求控制信号输入引脚,上升沿触发,该信号线上的中断请求信号不能用软件屏蔽。NMI常用于电源掉电等紧急情况下向CPU申请中断。(2)INTR(interruptrequest,输入)INTR是可屏蔽中断请求控制信号输入引脚,用于外部设备向CPU发出的可屏蔽的中断请求,高电平有效,8086在每一个指令周期都要检查该信号线,若INTR=1,表示有外部设备向CPU提出可屏蔽中断申请,如果状态标志寄存器FLAGS的中断允许标志位IF=1,则8086在执行完当前指令后即去响应中断。14、简述时钟周期、总线周期、指令周期的概念。答:(1)时钟周期(clockcycle)时钟周期也称为T状态,是CPU处理动作的最小时间单位。时钟周期值的大小由系统时钟(晶振频率)f确定,两者关系是fT/1。8086的主频为5MHZ,时钟周期为200ns。(2)指令周期(instructioncycle)执行一条指令所需的时间称为指令周期。但是8086/8088中不同指令的指令周期是不等长的。首先,指令就是不等长的,最短的指令只需要1个字节,大部分指令是2个字节,最长的指令可能要6个字节。指令的最短执行时间是两个时钟周期,一般的加、减、比较、逻辑操作是几十个时钟周期,最长的为16位数的乘除法指令约要200个时钟周期。(3)总线周期(buscycle)总线周期由若干个时钟周期组成,也称机器周期(machinecycle),指CPU对内存储器或输入/输出端口完成一次读/写操作所需的时间。基本的总线周期有存储器读/写周期、输入/输出端口的读/写周期和中断响应周期。15、什么是8086的最小模式和最大模式?答:8086的最小模式指的是微型计算机系统中只有8086一个微处理器,将8086的MXMN/引脚接+5V就可使8086工作在最小模式下。在这种方式下,由8086CPU直接产生系统所需的全部控制信号,其系统特点是:总线控制逻辑直接由8086CPU产生和控制,若有8086之外的其他模块想占用总线,则可向8086提出请求,在8086允许并响应的情况下,该模块才可获得总线控制权,使用完后再把总线控制权交还给8086。8086的最大模式是微机系统中包含两个或多个微处理器,其中8086是主处理器,其余的是协助主处理器工作的协处理器,如数值运算协处理器8087和I/O协处理器8089等。最大模式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是要将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信息进行译码产生相应控制信号。最大模式系统的特点是:总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号。协处理器只是协助主处理器完成某些辅助工作。16、8086最小模式下的读写总线周期包括几个时钟周期?什么情况下需要插入等待周期Tw?答:4个时钟周期T1~T4,理想情况下CPU与外设或内存进行一次数据交换在一个基本总线周期内可完成,但多数外设和内存的工作速度都慢于CPU,在一个基本总线周期内来不及与CPU交换数据,故需在T3与T4中插入1~N个等待周期来延长总线周期来完成数据传送。17、什么是总线?它有什么特点?答:总线是一组信号线的集合,是计算机各部件之间传输地址、数据和控制信息的公共通路。从物理结构来看,它由一组导线和相关的控制、驱动电路组成。在微型计算机系统中,总线常被作为一个独立的部件看待。总线的特点在于其公共性,即它可同时挂接多个部件或设备(对于只连接两个部件或设备的信息通道不称为总线)。总线上任何一个部件发送的信息,都可被连接到总线上的其他所有设备接收到,但某个时刻只能有一个设备进行信息传送。所以,当总线上挂接的部件过多时,就容易引起总线争用,使对信号响应的实时性降低。18、总线可分为哪几类?答:从传送信息的类型上,总线可分为:数据总线(databus,DB),地址总线(addressbus,AB)及控制总线(controlbus,CB)。总线按照层次结构可分为前端总线(或CPU总线)、系统总线和外设总线。19、衡量总线性能的指标有哪些?答:总线带宽、总线位宽、总线工作频率等。20、某32位总线时钟频率为66MHZ,若每两个时钟周期完成一次总线存取操作,请计算总线带宽是多少MB/s?答:32/8×66/2=132MB/s。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功