首页 微机原理与接口技术课后习题答案

微机原理与接口技术课后习题答案

举报
开通vip

微机原理与接口技术课后习题答案 第二章 更新时间:2008-2-20 习题22.1 什么是微处理器?它包含哪几部分?【解】:微处理器(CPU)的任务是执行存放在存储器里的指令序列。为此,除要完成算术逻辑操作外,还需要担负CPU和存储器以及I/O之间的数据传送任务。早期的CPU芯片只包括运算器和控制器两大部分。从80386开始,为使存储器速度能更好地与运算器的速度相匹配,已在芯片中引入高速缓冲存储器。       它们主要由以下三部分组成。  &n...

微机原理与接口技术课后习题答案
第二章 更新时间:2008-2-20 习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 22.1 什么是微处理器?它包含哪几部分?【解】:微处理器(CPU)的任务是执行存放在存储器里的指令序列。为此,除要完成算术逻辑操作外,还需要担负CPU和存储器以及I/O之间的数据传送任务。早期的CPU芯片只包括运算器和控制器两大部分。从80386开始,为使存储器速度能更好地与运算器的速度相匹配,已在芯片中引入高速缓冲存储器。       它们主要由以下三部分组成。   (1)算术逻辑部件   算术逻辑部件(ArithmeticLogicUnit,ALU)用来进行算术和逻辑运算及其相应操作。   (2)控制逻辑部件   控制逻辑部件负责对全机的控制工作,包括从存储器取出指令,对指令进行译码分析,从存储器取得操作数,发出执行指令的所有命令,把结果存入存储器以及对总线及I/O的传送控制等。   (3)工作寄存器   工作寄存器在计算机中起着重要的作用,每一个寄存器相当于运算器中的一个存储单元,但它的存取速度比存储器要快得多。它用来存放计算过程中所需要的或所得到的各种信息,包括操作数地址、操作数及运算的中间结果等。2.2 8086微处理器由哪几部分组成?各部分的功能是什么?【解】:按功能可分为两部分:总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。总线接口单元BIU是8086CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作,即8086对存储器和I/O设备的所有操作都是由BIU完成的。所有对外部总线的操作都必须有正确的地址和适当的控制信号,BIU中的各部件主要是围绕这个目标 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的。它提供了16位双向数据总线、20位地址总线和若干条控制总线。 其具体任务是:负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O端口中。执行单元EU中包含1个16位的运算器ALU、8个16位的寄存器、1个16位标志寄存器FR、1个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。EU对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么EU就要等待BIU通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制ALU数据总线中数据的流向。2.3 简述8086CPU的寄存器组织。【解】:(1)通用寄存器:通用寄存器又称数据寄存器,既可作为16位数据寄存器使用,也可作为两个8位数据寄存器使用。当用作16位时,称为AX、BX、CX、DX。当用作8位时,AH、BH、CH、DH存放高字节,AL、BL、CL、DL存放低字节,并且可独立寻址。这样,4个16位寄存器就可当作8个8位寄存器来使用。(2)段寄存器:段寄存器共有4个CS、DS、SS、ES。代码段寄存器CS表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP提供;堆栈段寄存器SS指定当前堆栈的起始地址;数据段寄存器DS指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。(3)指针和变址寄存器:堆栈指针SP用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈(POP)指令由SP给出栈顶的偏移地址。基址指针BP指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI和DI用来存放当前数据段中某个单元的偏移量。(4)指令指针与标志寄存器:指令指针IP的功能跟Z80CPU中的程序计数器PC的功能类似。正常运行时,IP中存放的是BIU要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后IP内容加1,而取一个字后IP内容则加2。某些指令可使IP值改变,某些指令还可使IP值压入堆栈或从堆栈中弹出。标志寄存器FLAGS是16位的寄存器,8086共使用了9个有效位,标志寄存器格式如图2.5所示。其中的6位是状态标志位,3位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。2.4 试述8086CPU标志寄存器各位的含义与作用。【解】:(1) 6个状态标志位的功能分别叙述如下:   CF(CarryFlag)——进位标志位。当执行一个加法(或减法)运算,使最高位产生进位(或借位)时,CF为1;否则为0。   PF(ParityFlag)——奇偶标志位。该标志位反映运算结果中1的个数是偶数还是奇数。当指令执行结果的低8位中含有偶数个1时,PF=1;否则PF=0。   AF(AuxiliarycarryFlag)——辅助进位标志位。当执行一个加法(或减法)运算,使结果的低4位向高4位有进位(或借位)时,AF=1;否则AF=0。ZF(ZeroFlag)——零标志位。若当前的运算结果为零,ZF=1;否则ZF=0。SF(SignFlag)——符号标志位。它和运算结果的最高位相同。OF(OverflowFlag)——溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。(2) 3个控制标志位用来控制CPU的操作,由指令进行置位和复位。DF(DirectionFlag)——方向标志位。它用以指定字符串处理时的方向,当该位置“1”时,字符串以递减顺序处理,即地址以从高到低顺序递减。反之,则以递增顺序处理。IF(InterruptenableFlag)——中断允许标志位。它用来控制8086是否允许接收外部中断请求。若IF=1,8086能响应外部中断,反之则不响应外部中断。注意:IF的状态不影响非屏蔽中断请求(NMI)和CPU内部中断请求。TF(TrapFlag)——跟踪标志位。它是为调试程序而设定的陷阱控制位。当该位置“1”时,8086CPU处于单步状态,此时CPU每执行完一条指令就自动产生一次内部中断。当该位复位后,CPU恢复正常工作。2.5 8086中,存储器为什么采用分段管理?【解】:8086/8088的地址总线宽度为20位,其最大寻址空间是1 MB。而其他微处理器则在实模式下只能访问前1MB的存储器地址。实际上,实模式就是为8086/8088而设计的工作方式,它要解决在16位字长的机器里怎么提供20位地址的问题,而解决的办法是采用存储器地址分段的方法。程序员在编制程序时要把存储器划分成段,在每个段内地址空间是线性增长的。每个段的大小可达64 KB,这样段内地址可以用16位表示。存储器分段的方法虽然给程序设计带来一定的麻烦,但这种方法可以扩大存储空间,而且对于程序的再定位也是很方便的。2.6 什么是逻辑地址?什么是物理地址?如何由逻辑地址计算物理地址?【解】:物理地址:完成存储器单元或I/O端口寻址的实际地址成为物理地址,CPU型号不同其物理地址也不同。物理地址是指CPU和存储器进行数据交换时实际所使用的地址,而逻辑地址是程序使用的地址。物理地址由两部分组成:段基址(段起始地址高16位)和偏移地址。前者由段寄存器给出,后者是指存储单元所在的位置离段起始地址的偏移距离。当CPU寻址某个存储单元时,先将段寄存器的内容左移4位,然后加上指令中提供的16位偏移地址而形成20位物理地址。在取指令时,CPU自动选择代码段寄存器CS,左移4位后,加上指令提供的16位偏移地址,计算出要取指令的物理地址。堆栈操作时,CPU自动选择堆栈段寄存器SS,将其内容左移4位后,加上指令提供的16位偏移地址,计算出栈顶单元的物理地址。每当存取操作数时,CPU会自动选择数据段寄存器(或附加段寄存器ES),将段基值左移4位后加上16位偏移地址,得到操作数在内存的物理地址。2.7 8086和8088的主要区别有哪些?【解】: 8086与8088的主要区别如下:8086的外部数据总线和内部数据总线都是16位的,是真正的16位机。8088的内部数据总线是16位的,而外部数据总线是8位的,所以称为准16位机或超级8位机。两者有着相同的内部寄存器和指令系统,在软件上是完全兼容的。它们的主要区别表现在:(1) 8086的指令预取队列为6个字节,而8088只有4个字节。(2) 8086的AD15~AD0为地址、数据双向分时复用的;而8088只有AD7~AD0为地址、数据双向分时复用的,A15~A8仅用于输出地址信号。在进行16位数据操作时,8086只需一个总线周期就可完成,而8088则需要两个总线周期来完成,因此8088的速度较8086要慢些。(3) 8086上的BHE信号在8088上变为SSO。(4) 8086的引脚28为M/IO,即CPU访问内存时该引脚输出高电平,访问接口时则输出低电平。对于8088而言,该引脚的状态正好相反,变为IO/M。8086/8088后继机型也包括准32位和 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 32位机,如80386的SX和DX类型。2.8 80x86微处理器的指令队列的容量和作用是什么?【解】:当EU正在执行指令中,且不需占用总线时,BIU会自动地进行预取指令操作,将所取得的指令按先后次序存入1~6字节的指令队列寄存器,该队列寄存器按“先进先出”的方式工作,并按顺序取到EU中执行。其操作遵循下列原则:每当指令队列缓冲器中存满一条指令后,EU就立即开始执行。每当BIU发现队列中空了两个字节时,就会自动地寻找空闲的总线周期进行预取指令操作,直到填满为止。每当EU执行一条转移、调用或返回指令后,则要清除指令队列缓冲器,并要求BIU从新的地址开始取指令,新取的第一条指令将直接经指令队列缓冲器送到EU去执行,并在新地址基础上再作预取指令操作,实现程序段的转移。2.9 在80x86微机的输入/输出指令中,I/O端号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00H~0FFH的端口号。试问可直接由指令指定的I/O端口数是多少?【解】:由于在80x86的输入/输出指令中,可以直接在00H~0FFH指定,所以直接由指令指定的I/O端口数是256。2.10 有两个16位字1EE5H和2A3CH分别存放在80x86微机存储器的000B0H和000B3H单元中。请用图表示出它们在存储器里的存放情况。【解】:它们在存储区的存放情况如下: 1EH E5H 000B0H 000B1H 000B2H 000B3H 000B4H 3CH 2AH      2.11 哪些寄存器可以用来指示存储器地址?【解】:以下寄存器可以用来只是存储区地址:BX(Base)可以作为通用寄存器使用,此外,在计算存储器地址时,它经常用作基址寄存器;SP、BP、SI、DI四个16位寄存器可以像数据寄存器一样在运算过程中存放操作数,但它们只能以字(16位)为单位使用,此外,它们更经常的用途是在存储器寻址时,提供偏移地址,因此,它们可称为指针和变址寄存器;只有代码段(CodeSegment,CS)、数据段(DataSegment,DS)、堆栈段(StackSegment,SS)和附加段(ExtraSegment,ES)4个寄存器,段寄存器也是一种专用寄存器,它们专用于存储器寻址,用来直接或间接地存放段地址。2.12 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A,它们的物理地址又是什么呢?【解】:由于物理地址=段地址×10H+偏移地址段地址和偏移地址为3017:000A的存储单元的物理地址:   物理地址=3017H×10H+000AH=3017AH段地址和偏移地址为3015:002A和3010:007A的存储单元的物理地址:   物理地址=3015H×10H+002AH=3017AH物理地址=3010H×10H+007AH=3017AH2.13 如果在一个程序开始执行以前(CS)=0A7F0H(如十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?【解】:由于物理地址=段地址×10H+偏移地址物理地址=0A7F0H×10H+2B40H=0AAA40H2.14 在实模式下,存储器中每一段最多可有10000H个字节。如果用调试程序Debug的R命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、CF的值。  C>DEBUG   -RAX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC【解】:略2.15 下列操作可使用到哪些寄存器?(1)加法和减法。(2)循环计数。(3)乘法和除法。(4)保存段地址。(5)表示运算结果为0。(6)将要执行的指令地址。(7)将要从堆栈取出数据的地址。【解】:(1)加法和减法。使用的寄存器有:AX、BX、CX、DX、AL。(2)循环计数。 使用的寄存器有:CL、CX。(3)乘法和除法。使用的寄存器有:AX、CL、AL、DX。(4)保存段地址。使用的寄存器有:ES、DI。(5)表示运算结果为0。使用的寄存器为通用寄存器。(6)将要执行的指令地址。使用的寄存器有:CS、SS、SP、IP、BP。(7)将要从堆栈取出数据的地址。使用的寄存器有:CS、SP、SS。2.16 80x86微机的存储器中存放信息如图2.13所示。试读出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。 34H 12H ABH 30020H 30021H  30022H2H 30023H  30024HH CDH EFH ┆ ┆  存储器        【解】:30022H字节单元的内容是:0ABH30024H字节单元的内容是:0EFH30021H字单元的内容是:0AB34H30022H字单元的内容是:0CDABH
本文档为【微机原理与接口技术课后习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_121489
暂无简介~
格式:doc
大小:28KB
软件:Word
页数:5
分类:工学
上传时间:2011-09-18
浏览量:612