本节小结:

  中断是微机系统中的一个非常重要的概念。8086系统可以处理256种类型的向量中断,每种类型的中断都有一个中断处理程序,中断处理程序的入口地址存放在中断向量表中。外部中断请求由CPU外部的硬件产生,按照是否受IF标志影响可以将外部中断分为可屏蔽中断和非屏蔽中断。内部中断是由CPU执行INT n指令或CPU执行指令出现错误而产生的中断。内部中断包括除法错中断、单步中断、断点中断、溢出中断和其它INT指令中断。INT n指令中断也称作软件中断。通过学习本节,要求全面了解CPU中断的分类,理解中断向量表及其作用,掌握各种中断的响应条件以及中断的请求与响应过程。理解中断的优先级,弄清中断嵌套与中断优先级之间的关系。

课后思考题:
  1. 从功能上,8086可以分为哪两个部分,它们各自包含哪些寄存器?这种逻辑划分对提高CPU的执行速度有什么意义?如果按照指令的执行过程(一般可以大致分为取指、分析指令、取操作数、执行、写结果等几个步骤),将CPU功能单元进行更细的划分,对CPU的性能又会产生什么样的影响?
  2. 设A=0101 0100 0011 1001 , B=0100 0101 0110 1010 , 对A,B执行加法操作,请根据运算结果判别8086标志寄存器的内容。
  3. 8086的存储器寻址范围有多大?如何实现?从逻辑地址到线性地址的计算过程涉及到哪些寄存器?
  4. 从总线复用的角度看,将一个总线周期分成4个状态有什么意义?
  5. 为什么要引入最大模式和最小模式?它们各自有什么特点?
  6. 何谓三态?请举例说明总线为什么需要三态?
  7. 为什么BHE#和地址信息一样需要锁存?锁存器是在是在什么时刻对进行锁存操作的?
  8. 什么是中断向量表?它有什么作用?
  9. 中断类型为208的中断向量放在哪几个内存单元?如果它的中断处理程序入口是4030:2010,那么这些内存单元的内容是什么?
  10. 为什么在有些中断处理程序中还需要保存现场?通常要保存的是哪些内容?
  11. CPU响应中断后,为什么要将IF、TF置0?中断响应过程CPU做哪些事情?
  12. 中断优先级是如何(通过硬件和软件)确定的?级别低的中断能打断级别高的中断吗?说明理由。