返回介绍

4.6 特殊的程序流程 – 中断处理

发布于 2023-05-19 17:35:11 字数 1477 浏览 0 评论 0 收藏 0

最后稍微介绍一下两种特殊的程序流程 – 中断处理和事件驱动(Event Driven)。首先说明中断处理

中断处理是指计算机使程序的流程突然跳转到程序中的特定地方,这样的地方被称为中断处理例程(Rountine)或是中断处理程序(Handler),而这种跳转是通过CPU所具备的硬件功能实现的。人们通常把中断处理比作是接听电话。假设正坐在书桌前处理文件,这时突然来电话了,不得不停下手头的工作接听电话,接完电话再回到之前的工作。像这样由于外部的原因使正常的流程中断,中断后再返回之前流程的过程就是中断处理流程

在第2章微型计算机的电路图中已经展示过,在Z80 CPU中有两个引脚,它们可以接收从I/O设备发出的中断请求信号(引脚用于处理一般的中断请求。引脚则用于即使CPU屏蔽了中断,也可在执行中的指令结束后立即响应中断请求的情况)。以硬件形式连接到CPU上的I/O模块会发出中断请求信号,CPU根据该信号执行相应的中断处理程序。在诸位使用的个人计算机上,中断请求信号是由连接到周边设备上的I/O模块发出的。例如每当用户按下键盘上的按键,键盘上的I/O模块就会把中断请求信号发送给CPU。CPU通过这种方式就可以知道有按钮被按下,于是就会从I/O设备读入数据(如图4.14所示)。CPU并不会时刻监控键盘是否有按键被按下

图4.14 中断请求信号由连接到周边设备上的I/O发出

中断处理以从硬件发出的请求为条件,使程序的流程产生分支,因此可以说它是一种特殊的条件分支。可是,在编写的程序中并不需要编写有关中断代理的代码。因为处理中断请求的程序,或是内置于被烧录在计算机ROM中的BIOS系统(Basic Input Output System,基本输入输出系统)中,或是内置于Windows等操作系统中。诸位只需先记住以下两点即可:计算机具有硬件上处理中断的能力;中断一词的英文是Interrupt。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文