您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理课后习题参考答案
第1部分微型计算机基础知识1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。微型计算机:简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储片、输入和输出片、系统总线等组成。特点是体积小、灵活性大、价格便宜、使用方便。微型计算机系统:简称“微机系统”。由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。配有操作系统、高级语言和多种工具性软件等。1.2CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。1.3微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③控制总线,微处理器与存储器或接口等之间1.5数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。而地址总线(AB)是CPU向存储器或I/O接口传送地址的信号线,只需单向传输,它的位数决定了CPU可以直接寻址的范围。8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),然后再读或写数据。第2部分80X86微处理器2.1IA-32结构微处理器直至Pentium4,有哪几种?【解】80386、80486、Pentium、PentiumPro、PentiumII、PentiumIII、Pentium4。2.2IA-32结构微处理器有哪几种操作模式?【解】IA-32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构我是可以访问的。2.3IA-32结构微处理器的地址空间如何形成?【解】由段寄存器确定的段基地址与由各种寻址方式确定的有效地址相加形成了线性地址。若未启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转换为物理地址。2.4基本程序执行寄存器是由哪些寄存器组成?【解】基本程序执行寄存器由以下寄存器组成:(1)通用寄存器。这8个寄存器能用于存放操作数和指针。(2)段寄存器。这些寄存器最多能保持6个段先择子。(3)EFLAGS(程序状态和控制)寄存器。EFLAGS寄存器报告正在执行的程序的状态并允许有限地(应用程序级)控制处理器。(4)EIP(指令指针)寄存器。EIP寄存器包含下一条要执行的釜底抽薪32位指针。2.5实地址方式的存储器是如何组织的?地址如何形成?【解】IA-32结构微处理器中的实地址方式是为了与8086(8088)CPU兼容而设置的。所以IA-32结构微处理器的实地址方式是从存储器组织来看与8086(8088)CPU的存储器组织是一样的。8086微处理器有20条地址引线,它的直接寻址能力为220=1MB。所以,在一个由8086组成的系统中,可以有多达1MB的存储器。这1MB逻辑上可以组织成一个线性矩阵。地址范围为00000H~FFFFFH。但是,在8086内部的AIU能进行16位运算,有关地址的寄存器如SP、IP,以及BP、SI、DI等也都是16位的,因而8086对地址的运算也只能是16位。这就是说,对于8986来说,各种寻址方式,寻找操作数的范围最多只能是64KB。所以,整个1MB存储器以64KB为范围若干段。在寻址一个具体物理单元时,必须要由一个基地址再加上各种寻址方式确定的16位偏移量来形成实际的20位物理地址。段基地址就是由8088向处理器段寄存器中的16位数自动左移4位,然后再与16位偏移量相加,形成20位物理地址。2.6通用寄存器起什么作用?【解】通用寄存器主要用于:(1)逻辑和算术操作的操作数。(2)用于地址计算的操作数。(3)内存指针。2.78086的基本程序执行寄存器是由哪些寄存器组成?【解】基本程序执行寄存器是由八个通用寄存器、四个段寄存器、标志寄存器FLAG和IP寄存器组成。2.88086的存储器是如何组织的?地址如何形成?【解】8086的存储器采用分段机制。实际存储单元地址由段基址左移四位加上偏移地址构成20位的物理地址所组成。2.9指令地址如何形成?【解】由段寄存器CS确定的段基地址与由指令指针确定的偏移理相加形成指令地址。2.108086微处理器的总线接口部件有哪些功能?请一一说明。【解】总线接口单元(BIU)负责与存储器接口;执行单元(EU)执行各种操作。BIU主要由段寄存器、指令指针、加法器(形成20位地址)和预取的指令流队列等组成。2.118086微处理器的总线接口有哪几部分组成?【解】8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传送。由(1)4个段地址寄存器。即CSDSESSS。(2)16位的指令指针寄存器IP。(3)20位的地址加法器。(4)6字节的指令队列。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中的排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。2.12段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令的物理地址为多少?【解】指令的物理地址=12000H+FF00H=21F00H2.138086微处理器的执行部件有什么功能?由哪几部分组成?【解】8086微处理器的执行部件负责指令的执行。它主要由算术逻辑单元、标志寄存器和通用寄存器等部分组成。2.14状态标志和控制标志有何不同?程序中是怎样利用这两类标志的?8086微处理器的状态标志和控制标志分别有哪些?【解】状态标志反映算术和逻辑运算的结果,主要用于各种条件。控制标志实现一些控制作用。EFLAGS寄存器有下面6个状态标志。(1)进位标志C(CarryFlag)当结果的最高位(字节操作时的D7或字操作时的D15、双字操作的D31)产生一个进位或借位,则C=1,否则为0。这个标志主要用于我字节数的加、减法运算。移位和循环指令也能够把存储器或寄存器中的最高位(左移时)或最低位(右移时)放入标志C中。(2)辅助进位标志A(AuxitiaryCarryFlag)在字节操作时,则由低半字节(一个字节的低4位)向高半字节有进位或借位,则A=1,否则为0。这个标志用于十进制算术运算指令中。(3)溢出标志O(OverflowFlag)在算术运算中,带符号数的运算结果超出了8位、16位或32位带符号数所能表达的范围,即在字节运算时大于+127或小于-128,在字运算时大于+32767或小于-32768,在双字运算时大于+231-1或小于-231,则此标志置位,否则复位。一个任先的溢出中数据指令,在溢出情况下能产生中断。(4)符号标志S(SignFlag)符号标志值与运算结果的最高位相同。即结果的最高位(字操作时为D15)为1,则S=1;否则,S=0。由于在IA-32结构微处理器中,符号数是用补码表示的,所以S表示了结果的符号,0=正,1=负。(5)奇偶标志P(ParityFlag)若操作结果中“1”的个数为偶数,则P=1,否则P=0。这个标志可用于检查在数据传送过程中是否发生错误。(6)零标志Z(ZeroFlag)若运算的结果为0,则Z=1,否则Z=03个控制标志,TF—陷阱标志位(单步标志位、跟踪标志)。当该位置1时,将使8086/8088进入单步工作方式,通常用于程序的调试。IF—中断允许标志位,若该位置1,则处理器可以响应可屏蔽中断,否则就不能响应可屏蔽中断。DF—方向标志位,若该位置1,则串操作指令的地址修改为自动减量方向,反之,为自动增量方向。2.15如果一个堆栈从地址1250::0000H开始,它的最后一个字的偏移地址为0100H,SP的内容为0052H,问:(1)栈顶地址是什么?(2)栈底地址是什么?(3)在SS中的段地址是什么?(4)存入数据2345H后,SP的内容是什么?【解】①.栈顶地址1250:0052,SP指向栈顶地址。②.栈底地址1250:0100,栈底地址为高地址。③.SS中的段地址为1250,SS中的段地址为堆栈段地址。④.存入2345H后,SP内容为0050H。一次入栈操作,SP=SP-2。2.168086微处理器是怎样解决地址线和数据线的复用问题的?ALE信号何时有效?【解】采用分时复用的方法。ALE在T1时刻有效,其他时间段均无效。第3部分80X86微处理器的指令系统3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。(1)MOVSI,300(2)MOVCX,DATA[DI](3)ADDAX,[BX][SI](4)ANDAX,CX(5)MOV[BP],AX(6)PUSHF【解】(1)源操作数为立即寻址,目的操作数为寄存器寻址。(2)源操作数为变址寄存器加位移量寻址,目的操作数为寄存器寻址。(3)源操作数为基址加变址寻址,目的操作数为寄存器寻址。(4)源操作数和目的操作数都为寄存器寻址。(5)源操作数为寄存器址,目的操作数为寄存器间接寻址。(6)为堆栈操作。3.28086汇编语言指令的寻址方式有哪几类?哪种寻址方式的执行速度最快?【解】寻址方式分为:立即寻址方式、寄存器操作数寻址方式和存储器操作数寻址方式。其中,寄存器操作数寻址方式的执行速度最快。3.3试述指令MOVAX,2000H和MOVAX,DS:[2000H]的区别。【解】前一条指令是立即数寻址,即把立即数2000H传送至寄存器AX。后一条指令是直接寻址,是把数据(DS)段中的地址为2000H单元的内容传送至寄存器AX。3.4堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内存操作数时应该分别要注意什么问题?【解】使用堆栈指令可以把内存单元作为一个操作数(从内存到内存)。但堆栈固定在堆栈段,且只能由SP指向。且堆栈操作要修改堆栈指针。MOV指令不能实现内存单元间的数据传送。XCHG指令是交换,有一个操作数必须是寄存器。3.5断下列指令书写是否正确。(1)MOYAL,BX(2)MOYAL,CL(3)INC[BX](4)MOV5,AL(5)MOV[BX],[SI](6)MOVBL,0F5H(7)MOVDX,2000H(8)POPCS(9)PUSHCS【解】(1)不正确,AL与BL数据宽度不同。(2)正确。(3)不正确,因为不明确是增量字节还是字。(4)不正确,立即数不能作为目的操作数。(5)不正确,因为不明确要传送的是字节还是字。(6)正确。(7)正确。(8)不正确,CS不能作为POP指令的操作数。(9)不正确,CS不能作为PUSH指令的操作数。3.6写出以下指令中内存操作数的所在地址。(1)MOVAL,[BX+10](2)MOV[BP+10],AX(3)INCBYTEPTR[S
本文标题:微机原理课后习题参考答案
链接地址:https://www.777doc.com/doc-1887271 .html