【计算机组成原理】中断和输入输出

本文探讨了计算机中断和异常的概念,详细介绍了中断的具体过程,包括内部中断、外部中断及中断处理流程,并讨论了中断向量表。此外,文章还讲解了早期计算机的输入输出方式,阐述了I/O接口的作用、编址方式以及传输控制方式,如无条件传送、程序查询和中断控制。
摘要由CSDN通过智能技术生成

前言

这篇文章,我把中断异常、输入输出,两个部分放到一起,因为它们之间的联系实在很深。

中断和异常

在程序运行时,系统内部,外部或者程序本身出现一些需要特殊处理的“事件”,CPU立即强行中断当前程序,并改变机器状态来执行一段处理这个“事件”的程序,然后再回来继续执行之前的程序。这种机制,就叫中断(异常)。

早期的计算机,只要做做计算任务就行了,与外界的交互非常简单,但随着不断的发展,交互方式越来越丰富,中断机制不断显示出了它的重要性。

中断的具体过程

内部中断和外部中断:

  • 内部中断就是CPU内部的不可屏蔽的中断,在x86的实模式下,有断点,单步,溢出,除零中断。其中,除零中断会自动触发,其余的中断一般需要用显式的方式在程序中写明,如果满足条件则触发。
  • 外部中断,就是与外部设备交互的中断。比如BIOS中断,DOS中断,都是一种外部中断,它们提供的都是一些功能性的中断,比如输出输出。显然这些也是需要你在程序里显示调用的。

过程:

  1. 关中断。CPU关闭中断(标志寄存器中的IF位),不允许外部中断。
  2. 保护断点。把中断处的指令地址压入堆栈。
  3. 识别中断源。CPU中断处理器来确定中断号,找到中断程序的入口地址。
  4. 保护现场。把中断处指令相关的寄存器以及标志寄存器都要入堆栈。
  5. 转到中断服务程序入口开始执行。
  6. 恢复现场并返回。把IP,等寄存器都弹栈,然后执行中断返回指令。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值