微机原理与接口技术习题解析和实验指导.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"微机原理与接口技术习题解析和实验指导" 微机原理与接口技术是计算机科学和技术专业的基础课程之一,对于计算机系统的设计、开发和应用都具有重要的影响。本文档提供了微机原理与接口技术的习题解析和实验指导,涵盖了微机原理、接口技术、计算机系统结构、指令系统、存储系统、输入/输出系统等方面的知识。 2.2 8086微处理器由哪几部分组成?各部分的功能是什么? 8086微处理器可以分为两部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。 总线接口单元BIU 是 8086 CPU 在存储器和I/O 设备之间的接口部件,负责对全部引脚的操作,即8086 对存储器和I/O 设备的所有操作都是由BIU 完成的。BIU 中的各部件主要是围绕这个目标设计的。它提供了 16 位双向数据总线、20 位地址总线和若干条控制总线。BIU 的具体任务是: 负责从内存单元中预取指令,并将它们送到指令队列缓冲器暂存。CPU执行指令时,总线接口单元要配合执行单元,从指定的内存单元或I/O 端口中取出数据传送给执行单元,或者把执行单元的处理结果传送到指定的内存单元或I/O 端口中。 执行单元EU 中包含 1 个 16 位的运算器ALU 、8 个 16 位的寄存器、 1 个 16 位标志寄存器 FR、 1 个运算暂存器和执行单元的控制电路。这个单元进行所有指令的解释和执行,同时管理上述有关的寄存器。EU 对指令的执行是从取指令操作码开始的,它从总线接口单元的指令队列缓冲器中每次取一个字节。如果指令队列缓冲器中是空的,那么 EU 就要等待BIU 通过外部总线从存储器中取得指令并送到EU,通过译码电路分析,发出相应控制命令,控制 ALU 数据总线中数据的流向。 2.3 简述 8086 CPU 的寄存器组织。 8086 CPU 的寄存器组织主要包括四个部分:通用寄存器、段寄存器、指针和变址寄存器、指令指针与标志寄存器。 通用寄存器又称数据寄存器,既可作为16 位数据寄存器使用,也可作为两个8 位数据寄存器使用。当用作16 位时,称为AX、 BX、CX 、DX 。当用作 8 位时, AH、 BH、CH、DH 存放高字节,AL 、 BL、CL 、DL 存放低字节,并且可独立寻址。这样, 4 个 16 位寄存器就可当作8 个 8 位寄存器来使用。 段寄存器共有4 个 CS、DS、SS、ES。代码段寄存器CS 表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移值则由IP 提供;堆栈段寄存器 SS 指定当前堆栈的起始地址;数据段寄存器DS 指示当前程序使用的数据所存放段的起始地址;附加段寄存器ES 则指出当前程序使用附加段地址的起始位置,该段一般用来存放原始数据或运算结果。 指针和变址寄存器包括堆栈指针SP、基址指针BP、变址寄存器SI 和 DI。堆栈指针SP 用以指出在堆栈段中当前栈顶的地址。入栈(PUSH)和出栈( POP)指令由 SP 给出栈顶的偏移地址。基址指针BP 指出要处理的数据在堆栈段中的基地址,故称为基址指针寄存器。变址寄存器SI 和 DI 用来存放当前数据段中某个单元的偏移量。 指令指针与标志寄存器包括指令指针IP 和标志寄存器FLAGS。指令指针IP 的功能跟Z80 CPU 中的程序计数器PC 的功能类似。正常运行时,IP 中存放的是BIU 要取的下一条指令的偏移地址。它具有自动加1功能,每当执行一次取指令操作时,它将自动加1,使它指向要取的下一内存单元,每取一个字节后 IP 内容加 1,而取一个字后IP 内容则加 2。某些指令可使IP 值改变,某些指令还可使 IP 值压入堆栈或从堆栈中弹出。标志寄存器FLAGS 是 16 位的寄存器, 8086 共使用了9 个有效位,标志寄存器格式如图2.5 所示。其中的6 位是状态标志位,3 位为控制标志位。状态标志位是当一些指令执行后,表征所产生数据的一些特征。而控制标志位则可以由程序写入,以达到控制处理机状态或程序执行方式的表征。 2.4 试述 8086 CPU 标志寄存器各位的含义与作用。 标志寄存器FLAGS 的 9 个有效位可以分为两部分:状态标志位和控制标志位。状态标志位共有6 位,分别是CF、PF、AF、ZF、SF、OF。CF(Carry Flag)—— 进位标志位。当执行一个加法(或减法 )运算,使最高位产生进位(或借位 )时, CF 为 1;否则为 0。PF(Parity Flag)—— 奇偶标志位。该标志位反映运算结果中1 的个数是偶数还是奇数。当指令执行结果的低8 位中含有偶数个1 时, PF=1;否则 PF=0。AF(Auxiliary carry Flag)—— 辅助进位标志位。当执行一个加法(或减法 )运算, 使结果的低 4 位向高 4 位有进位 (或借位 )时, AF=1 ;否则 AF=0。ZF(Zero Flag) —— 零标志位。若当前的运算结果为零,ZF=1;否则 ZF=0 。SF(Sign Flag) —— 符号标志位。它和运算结果的最高位相同。OF(Overflow Flag) —— 溢出标志位。当补码运算有溢出时,OF=1;否则 OF=0。 控制标志位共有3 位,分别是DF、IF、TF。DF(Direction Flag) —— 方向标志位。它用以指定字符串处理时的方向,DF=1 时,字符串处理是从高到低的;DF=0 时,字符串处理是从低到高的。IF(Interrupt Flag) —— 中断标志位。它用以指定中断是否允许,IF=1 时,中断允许;IF=0 时,中断禁止。TF(Trap Flag) —— 陷阱标志位。它用以指定是否允许陷阱指令,TF=1 时,允许陷阱指令;TF=0 时,不允许陷阱指令。
剩余37页未读,继续阅读
- weixin_390857452024-01-05非常有用的资源,可以直接使用,对我很有用,果断支持!
- sjystone2022-07-11资源很赞,希望多一些这类资源。
- 忆白.2023-04-11感谢资源主分享的资源解决了我当下的问题,非常有用的资源。
- 粉丝: 17
- 资源: 26万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助