您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 微机第三版教材习题参考答案 马维华
微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案1第二章作业2-2简述微处理器的工作方式、各工作方式的含义和区别是什么?它们之间是如何切换的?答:1.五种工作方式:实地址方式、保护虚地址方式、虚拟86方式、系统管理方式以及IA-32E方式。2.含义:(1)实地址方式是指处理器工作在8086/8088编程环境下的工作方式,其最大地址空间为1MB。(2)保护地址方式,又称保护虚地址方式,简称保护方式,是真正发挥处理器潜能的一种工作方式。所谓保护是指在执行多任务操作时,对不同任务使用的不同存储空间进行完全隔离,保护每个任务顺利执行,能够寻址的地址空间为实际的物理地址空间即2m(m为处理器外部地址线的引脚条数)。(3)虚拟86方式是指一个多任务的环境,即模拟多个8086的工作方式。在这个方式之下,处理器被模拟成多个8086微处理器同时工作。(4)系统管理方式(SMM)是为实现特定功能及系统安全提供的一种工作方式,SMM的功能主要包括电源管理以及为操作系统和正在运行的程序提供安全性。SMM最显著的应用就是电源管理。以上四种方式是IA-32所有处理器所具有的工作方式。(5)从后期的P4到以Core为核心的处理器开始支持64位扩展技术,引入了IA-32E工作方式。在这种方式下,处理器支持两种模式即兼容的工作方式(兼容IA-32处理器的方式)和64位工作方式。在兼容模式下,允许在64位操作系统下运行原来的16位和32位应用程序,可使用前缘REX访问64位数据,最大支持的32位地址空间,而在64位方式下,采用EM64T技术,支持64位操作,同时支持36位的地址(从PentiumPro开始处理器的外部地址线就提供36条),支持64位线性地址,默认的地址空间为64位,默认的数据宽度为32位,指令允许32/64地址和32/64数据的混合使用,因此又把Core为核心的处理器称为32/64处理器,与真正64位处理器有区别,可称之为具有64位功能的32位处理器。3.工作方式的相互转换如下图所示。以上工作方式中,系统管理方式需要用硬件切换即有/SMI引脚中断方可以从原来的工作方式进入系统管理方式,其它工作方式的切换均可用软件控制来切换工作方式。2-3IA-32E方式兼容模式和64位模式下,CureX系列处理器能够寻址的物理地址空间分别有多大?答:具有IA-32E工作方式处理器在兼容模式下,最大支持的32位地址空间即4GB,而在64位方式下,采用EM64T技术,支持64位操作,同时支持36位的物理地址即64GB,支持64位线性地2IA-32&Intel64微机原理与接口技术(第三版)布置的习题参考答案址,默认的地址空间为64位。2-10Pentium处理器的U和V两条指令流水线的功能是什么?主频为100MHz的Pentium处理器,最快执行两条指令的时间为多少ns?答:(1)U流水线主要用于执行复杂指令,而V流水线只能执行简单指令。(2)最快执行两条指令的时间是一个时钟周期,100MHz主频其一个时钟周期为1/100(us)=10ns。2-11简述Pentium处理器的BTB的功能。答:BTB(分支目标缓冲器)可对分支指令进行预测,目的是提高流水线执行效率。在Pentium微处理器中,使用了BTB预测分支指令,这样可在分支指令进入指令流水线之前预先安排指令的顺序,而不致使指令流水线的执行产生停滞或混乱。2-18总结一下8086/8088到Corei7处理器外部地址线、数据线条数、通用寄存器的位数以及所处的工作方式。各自的位长以及所能寻址的物理地址空间有多大?答:从8086到Corei的相关参数如下表所示表。处理器主要参数8086802868038680486PentiumP6(Pro,PII,PIII)Pentium4Core2DuoCorei7Corei3/i5/i7(二代到六代)通用寄存器位数1616323232323232/6432/6432/64外部数据线条数16163232646464646464外部地址线条数20243232323636363636物理地址空间1MB16MB4GB4GB4GB64GB64GB64GB64GB64GBI/O组织(端口个)64K64K64K64K64K64K64K64K64K64K工作方式实方式实方式保护方式实方式保护V86实方式保护、V86实,保护、V86、系统管理实、保护、V86、系统管理实、保护、V86、系统管理实、保护、系统管理、IA-32E实、保护、系统管理、IA-32E实、保护、系统管理、IA-32E2-26已经从内存1FF00000开始存放12H,34H,56H,78H,90H,ABH,CDH,EFH,11H,22H,33H,44H,55H,66H,77H,88H,99H,00H,AAH,BBH,CCH,DDH,EEH,FFH,试说明从1FF00000H开始取一个双四字的值,从1FF00008H开始取双字的值,以及从1F00010H开始取四字和一个字的值。解:按照数据低字节存放在低地址的原则,在Intel处理器中,为了保持兼容性,仍然定义一个字为16位(尽管字长已经是32位或64位)从1FF00000H开始的双四字的值=8877665544332211EFCDAB9078563412H从1FF00008H开始的双字的值=44332211H从1FF00010H开始的四字的值=FFEEDDCCBBAA0099H从1FF00010H开始的一个字的值=0099H2-32对于IA-32或Intel64处理器采用16位运算(用16位寄存器),求以下运算结果及相应各标志位:(1)5439H+4567H(2)2345H+5219H(3)54E3H-27A0H(4)1A9FH+E561H解:(1)5439H+4567H=99A0H0101010000111001+01000101011001111001100110100000AF=1,PF=1,ZF=0,CF=0,OF=1,SF=1(2)2345H+5219H=755EH微机原理与接口技术(第三版)课堂布置及需要关注习题参考答案30010001101000101+01010010000110010111010101011110AF=0,PF=0,ZF=0,CF=0,OF=0,SF=0(3)法1直接相减54E3H-27A0H=2D43H0101010011100011-00100111101000000010110101000011AF=0,PF=0,ZF=0,CF=0,OF=0,SF=0法2变减为加54E3H-27A0H=54E3+D860H=2D43H0101010011100011+110110000110000010010110101000011AF=0,PF=0,ZF=0,CF=1,OF=0,SF=0说明:可见这两种方法算出的结果是一样的,但进借位标志完全不同。(4)1A9FH+E561=0000H0001101010011111+111001010110000110000000000000000AF=1,PF=1,ZF=1,CF=1,OF=0,SF=02-37内存数据如表2.26所示,指出实地址方式下,执行下列程序段后AX中的值。MOVAX,1100HMOVDS,AXMOVBX,200HMOVAX,[BX+62H]表2.26题2-38,2-43和2-44表(内存数据分布情况)地址数据地址数据地址数据地址数据::::::::00011267H00H00011237H00H00001047H00H00001007H00H00011266H70H00011236H00H00001046H01H00001006H40H00011265H00H00011235H11H00001045H1EH00001005HF3H00011264H01H00011234H47H00001044H13H00001004H01H00011263H75H00011233H32H00001043H00H00001003H00H00011262H39H00011232H30H00001042H00H00001002H00H00011261H2AH00011231H31H00001041H1FH00001001H1FH00011260H00H00011230H36H00001040HFFH00001000HFFH解:从程序段知DS=1100H,有效地址(偏移地址)=200H+62H=262H,因此物理地址=11000H+262H=11262H,11262H开始的一个字为7539H,所以AX=7539H2-38IA-32处理器描述符中所含有的基地址为089C0000H,段界限为0003FH,求(1)G=0时该描述符所寻址段的地址范围,该段如果要存汉字,能容纳多少个?(2)G=1时,对于4K页,描述的段的地址范围。解:(1)G=0,段以字节为单位,段大小=段界+1=3FH+1=40H=64,末地址=段基址+段大4IA-32&Intel64微机原理与接口技术(第三版)布置的习题参考答案小-1=段基址+段界=089C0000H+3FH=089C0000H~0x89C0003F,可容纳汉字64/2=32个;(2)G=1时,段大小以页为单位(4K页),段大小=(段界+1)×4K=(3FH+1)×1000H=40000H=262144,末地址=段基址+段大小-1=089C0000H+40000-1=089C0000H+3FFFFH=089FFFFFH,可容纳汉字262144/2=131072个。2-39试定义IA-32处理器的两个段描述符来描述一个存储器段,均为一个可写、向上增长的用户访问的在物理存储器中、未访问过的数据段,(1)地址范围为03000000H~03001FFFH,(2)01000000H~027FFFFFH。解:(1)定义段描述符就是确定段基址、段界和相关属性段基址=03000000H,段界=末地址-首地址=1FFFH,段界FFFF,因此,属性G=0,另外根据IA-32处理器,默认D=1(32位数据),AVL=0,访问权字节,P=1,DPL=11,S=1,TYPE=001,A=0,对照描述符格式31…………………242322212019……16151413121110987………………0段基址(B31-B24)GD/B0AVL段界(L19-L16)PDPLSTypeA基地址(B23-B16)4基地址(B15-B0)段界(L15-L0)0所以段描述符为:0340F20000001FFFH(2)段基址=01000000H,段大小=027FFFFFH-01000000H+1=017FFFFFH=01800000HFFFFFH+1因此,G=1,由于段大小=(段界+1)×4K,因此段界=段大小/4K-1=01800000H/4K-1=1800H-1=17FFH,其它属性同上,则段描述符=01C1F200000017FFH2-41已知从00100000H开始存放FFH,01H,00H,04H,10H,F2H,0AH,06H,FFH,03H,00H,00H,10H,F2H,40H,02H,从02100000H开始存放35H,36H,31H,30H,30H,32H,39H,38H,3AH,DS=000BH,EBX=0000002H,GDTR=001000001FFFH,CR0=60000011H,CR3=00034000H,对于IA-32处理器,执行指令MOVEAX,[EBX]时:(1)求源操作数对应的描述符表可存放描述符个数(2)求源操作数对应段描述符的值以及该描述符描述段的地址范围(3)求源操作数所对应的物理地址(4)求指令执行后EAX中的内容。(5)从已知条件中还能得到什么信息?解:DS=000BH=0000000000001011B,对照选择子的格式可知TI=0,选中GDT表,RPL=11为普通用户使用,索引×8=08H(1)GDT表可存放的描述符的个数由GDTR中的界决定,
本文标题:微机第三版教材习题参考答案 马维华
链接地址:https://www.777doc.com/doc-4583693 .html