计算机组成原理(华科版)第七章 输入输出系统_第1页
计算机组成原理(华科版)第七章 输入输出系统_第2页
计算机组成原理(华科版)第七章 输入输出系统_第3页
计算机组成原理(华科版)第七章 输入输出系统_第4页
计算机组成原理(华科版)第七章 输入输出系统_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 现代电子计算机系统可以分为3个部分:运算处理子系统,I/O子系统和 通信网络子系统。计算机的I/O系统包括I/O接口、I/O管理部件及有关软件。 一个计算机系统的综合处理能力,系统的可扩展性、兼容性和性能价格比, 都和I/O系统有密切关系。 信息交换的控制方式一般分为信息交换的控制方式一般分为5种类型种类型。 1. 程序查询方式程序查询方式(Programmed Direct Control) 这种方式又称为程序直接控制方式,是指信息交换的控制完全由这种方式又称为程序直接控制方式,是指信息交换的控制完全由 主机执行程序来实现。当主机执行到某条指令时,发出询问信号,读取主机执行程序来实现。当主

2、机执行到某条指令时,发出询问信号,读取 设备的状态,并根据设备状态,决定下一步操作,这样要花费很多时间设备的状态,并根据设备状态,决定下一步操作,这样要花费很多时间 用于查询和等待,效率大大降低。这种控制方式用于早期的计算机。现用于查询和等待,效率大大降低。这种控制方式用于早期的计算机。现 在,除了在微处理器或微型机的特殊应用场合,为了求得简单而采用外,在,除了在微处理器或微型机的特殊应用场合,为了求得简单而采用外, 一般不采用了。一般不采用了。 2. 程序中断控制方式程序中断控制方式(Program Interrupt Transfer) 在程序中断控制方式中,外部设备在完成了数据传送的准备

3、工作在程序中断控制方式中,外部设备在完成了数据传送的准备工作 后,主动向后,主动向CPU提出传送请求,提出传送请求,CPU暂停原执行的程序,转向信息交换暂停原执行的程序,转向信息交换 服务。在这种方式下,服务。在这种方式下,CPU的效率得到提高,这是因为设备在数据传送的效率得到提高,这是因为设备在数据传送 准备阶段时,准备阶段时,CPU仍在执行原程序;此外,仍在执行原程序;此外,CPU不再像程序直接控制方不再像程序直接控制方 式下那样被一台外设独占,它可以同时与多台设备进行数据传送。这种式下那样被一台外设独占,它可以同时与多台设备进行数据传送。这种 方式的缺点是,在信息传送阶段,方式的缺点是,

4、在信息传送阶段,CPU仍要执行一段程序控制,还没有仍要执行一段程序控制,还没有 完全摆脱对完全摆脱对I/O操作的具体管理。操作的具体管理。 3. 直接内存访问方式直接内存访问方式(Direct Memory AccessDMA) DMA方式是一种完全由硬件进行成组信息传送的控制方式。它具有程方式是一种完全由硬件进行成组信息传送的控制方式。它具有程 序中断控制方式的优点,即在设备准备数据阶段,序中断控制方式的优点,即在设备准备数据阶段,CPU与外设能并行工作。与外设能并行工作。 它降低了它降低了CPU在数据传送时的开销,这是因为在数据传送时的开销,这是因为DMA接替了接替了CPU对对I/O中间中

5、间 过程的具体干预,信息传送不再经过过程的具体干预,信息传送不再经过CPU,而在内存和外设之间直接进行,而在内存和外设之间直接进行, 因此,称为直接内存访问方式。由于在数据传送过程中不使用因此,称为直接内存访问方式。由于在数据传送过程中不使用CPU,也就,也就 不存在保护不存在保护CPU现场,恢复现场,恢复CPU现场等繁琐操作,因此数据传送速度很高。现场等繁琐操作,因此数据传送速度很高。 这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送。它的硬件这种方式适用于磁盘机、磁带机等高速设备大批量数据的传送。它的硬件 开销比较大。开销比较大。DMA接口中,中断处理逻辑还要保留。不同的是,接口中,

6、中断处理逻辑还要保留。不同的是,DMA接口接口 中的中断处理逻辑,仅用于故障中断和正常传送结束中断时的处理。中的中断处理逻辑,仅用于故障中断和正常传送结束中断时的处理。 4. 通道方式通道方式(Channel Control) 通道方式利用了通道方式利用了DMA技术,再加上软件,形成一种新的控制方式。技术,再加上软件,形成一种新的控制方式。 通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作通道是一种简单的处理机,它有指令系统,能执行程序。它的独立工作 的能力比的能力比DMA强,能对多台不同类型的设备统一管理,对多个设备同时强,能对多台不同类型的设备统一管理,对多个设备同时 传送信

7、息。传送信息。 5. 外围处理机方式外围处理机方式(Peripheral Processor UnitPPU) 外围处理机的结构更接近于一般的处理机,甚至就是一般小型通外围处理机的结构更接近于一般的处理机,甚至就是一般小型通 用计算机。它可完成用计算机。它可完成I/O通道所要完成的通道所要完成的I/O控制,还可完成码制变换、控制,还可完成码制变换、 格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部格式处理、数据块的检错、纠错等操作。它可具有相应的运算处理部 件、缓冲部件,还可形成件、缓冲部件,还可形成I/O程序所必须的程序转移等操作。它可简化程序所必须的程序转移等操作。它可简化 设

8、备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况设备控制器,而且可用它作为维护、诊断、通信控制、系统工作情况 显示和人机联系的工具。显示和人机联系的工具。 外围处理机基本上独立于主机工作。在多数系统中,设置多台外外围处理机基本上独立于主机工作。在多数系统中,设置多台外 围处理机,分别承担围处理机,分别承担I/O控制、通信、维护诊断等任务。有了外围处理控制、通信、维护诊断等任务。有了外围处理 机后,计算机系统结构有了质的飞跃,由功能集中式发展为功能分散机后,计算机系统结构有了质的飞跃,由功能集中式发展为功能分散 的分布式系统。的分布式系统。 程序查询方式又叫程序控制程序查询方式又叫程序

9、控制I/O方式。在这种方式中,数据在方式。在这种方式中,数据在CPU和外和外 围设备之间的传送完全靠计算机程序控制,是在围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的。当主动控制下进行的。当 执行执行I/O时,时,CPU暂停执行主程序,转去执行暂停执行主程序,转去执行I/O的服务程序,根据服务程序的服务程序,根据服务程序 中的中的I/O指令进行数据传送。指令进行数据传送。 1. 设备编址设备编址 用程序实现用程序实现I/O传送的机器,根据其结构特点,外围设备有两种不同的传送的机器,根据其结构特点,外围设备有两种不同的 编址方法:统一编址法和单独编址法。编址方法:统一编址法和单

10、独编址法。 所谓统一编址法,是将所谓统一编址法,是将I/O设备中的控制寄存器、数据寄存器、状态寄存器设备中的控制寄存器、数据寄存器、状态寄存器 等也和内存单元一样看待,将它们和内存单元一起编排地址。这样就可用等也和内存单元一样看待,将它们和内存单元一起编排地址。这样就可用 访问内存的指令访问内存的指令(读读/写指令写指令)去访问去访问I/O设备的某个寄存器,因而不需要专门设备的某个寄存器,因而不需要专门 的的I/O指令组。比如,用访问存储器的读指令组。比如,用访问存储器的读/写指令就能实现写指令就能实现I/O设备与设备与CPU之之 间的数据传送。又如,比较指令可以用来比较间的数据传送。又如,比

11、较指令可以用来比较I/O设备中某个寄存器的值,设备中某个寄存器的值, 以此判断以此判断I/O操作的执行情况。操作的执行情况。 图图7.2(a)所示的是统一编址的单总线结构,所有的所示的是统一编址的单总线结构,所有的I/O设备、内存和设备、内存和CPU 共用一条总线。其中地址总线传送共用一条总线。其中地址总线传送CPU要访问内存的地址或要访问内存的地址或I/O设备的地址;设备的地址; 数据总线传送数据、指令和状态信息;控制总线传送定时信号和各种控制信数据总线传送数据、指令和状态信息;控制总线传送定时信号和各种控制信 号。号。 在图在图7.2(b)所示的机器结构中,内存地址和所示的机器结构中,内存

12、地址和 I/O设备的地址是分开的。设备的地址是分开的。 当访问内存时,由内存读、内存写两条控制线控制;当访问当访问内存时,由内存读、内存写两条控制线控制;当访问I/O设备时,由设备时,由 I/O读、读、I/O写两条控制线控制,这种方法将为单独编址法。写两条控制线控制,这种方法将为单独编址法。 7.2.1 程序查询程序查询I/O方式方式 其基本思想是,其基本思想是,CPU要执行一段要执行一段I/O程序,则用其中一条指令查询程序,则用其中一条指令查询 设备状态,如果设备的数据传送没有准备好,就重复执行询问指令,一直设备状态,如果设备的数据传送没有准备好,就重复执行询问指令,一直 等到设备准备好为止

13、。等到设备准备好为止。 程序查询方式是利用程序程序查询方式是利用程序 控制来实现控制来实现CPU和和I/O设备之设备之 间的数据传送的方法。程序执间的数据传送的方法。程序执 行的动作如下:行的动作如下: 先向先向I/O设备发出命令字,设备发出命令字, 请求进行数据传送;请求进行数据传送; 从从I/O接口读入状态字;接口读入状态字; 检查状态字中的标志,看检查状态字中的标志,看 看数据交换是否可以进行;看数据交换是否可以进行; 假如这个设备没有准备就假如这个设备没有准备就 绪,则重复进行第步、第步,绪,则重复进行第步、第步, 一直到这个设备准备好交换数据,一直到这个设备准备好交换数据, 发出准备

14、就绪信号发出准备就绪信号“Ready”为为 止;止; CPU从从I/O接口的数据缓接口的数据缓 冲寄存器输入数据,或者将数据冲寄存器输入数据,或者将数据 从从CPU输出至接口的数据缓冲寄输出至接口的数据缓冲寄 存器中。与此同时,存器中。与此同时,CPU将接口将接口 中的状态标志复位。中的状态标志复位。 为 此 在 实为 此 在 实 际应用中做如际应用中做如 下改进:下改进:CPU 在执行主程序在执行主程序 的过程中可周的过程中可周 期性地调用各期性地调用各 I/O设备查询设备查询 子程序,依次子程序,依次 测试各测试各I/O设设 备的状态触发备的状态触发 器器“Ready”。 如果某设备的如果

15、某设备的 Ready为为“0”, 则依次测试下则依次测试下 一个设备。图一个设备。图 7.4所示的是所示的是 典型的程序查典型的程序查 询流程图。询流程图。 设备 1 服务程序 设备 1 是否 准备好? 是 否 回去继续执行查询程序 设备 2 服务程序 设备 2 是否 准备好? 是 否 回去继续执行查询程序 设备 3 服务程序 设备 3 是否 准备好? 是 否 回去继续执行查询程序 设备 4 服务程序 设备 4 是否 准备好? 是 否 回去继续执行查询程序 调入“特征触发器查询子程序” 主程序流 设备服务子程序的主要功能是:设备服务子程序的主要功能是: 实现数据传送。输入时,由实现数据传送。输

16、入时,由I/O指令将设备的数据送到指令将设备的数据送到CPU的某的某 寄存器中,再由访内指令把寄存器中的数据存入内存某单元;输出时,寄存器中,再由访内指令把寄存器中的数据存入内存某单元;输出时, 其过程正好相反。其过程正好相反。 修改内存地址,为下一次数据传送做准备。修改内存地址,为下一次数据传送做准备。 修改传送字节数,以便修改传送长度。修改传送字节数,以便修改传送长度。 进行状态分析或其他控制功能。进行状态分析或其他控制功能。 . SKP 线 状态标志线 0 1 Ready 设备 1 译码 1 # y1 0 1 Ready 设备 2 译码 2 # y2 0 1 Ready 设备 3 译码

17、3 # y3 CPU ABUS 图图7.5 用用SKP询问询问I/O设备的示意图设备的示意图 程序查询方式的优点是简单、经济,程序查询方式的优点是简单、经济,CPU 和和I/O设备接口只需配设备接口只需配 备少量的硬设备。它的缺点是系统效率低,为了询问备少量的硬设备。它的缺点是系统效率低,为了询问I/O设备是否有设备是否有 数据传送,数据传送,CPU要周期性地停止主程序运行而转向查询子程序。如要周期性地停止主程序运行而转向查询子程序。如 果有很多设备,查询程序所花费的时间是相当长的。果有很多设备,查询程序所花费的时间是相当长的。 7.2.2 程序查询方式的接口程序查询方式的接口 程序查询方式的

18、程序查询方式的 接口电路包括设备选接口电路包括设备选 择电路、数据缓冲寄择电路、数据缓冲寄 存器、设备状态位和存器、设备状态位和 有关逻辑部件等。有有关逻辑部件等。有 的计算机采用统一编的计算机采用统一编 址,访问接口中的数址,访问接口中的数 据缓冲寄存器和设备据缓冲寄存器和设备 状态字寄存器就像访状态字寄存器就像访 问主存的存储单元一问主存的存储单元一 样。有的计算机不采样。有的计算机不采 用统一编址,也没有用统一编址,也没有 设备状态字寄存器,设备状态字寄存器, 设备状态用分散的触设备状态用分散的触 发器表示发器表示. 1. 设备选择电路设备选择电路 对于接到总线上的每个设备,已预先给定了

19、设备地址码。对于接到总线上的每个设备,已预先给定了设备地址码。CPU 执行执行I/O指令时,需要把指令中的设备地址送到地址总线上,用以指令时,需要把指令中的设备地址送到地址总线上,用以 指示指示CPU要选择的设备。每个设备接口电路都有一个设备选择电要选择的设备。每个设备接口电路都有一个设备选择电 路,用它判别地址总线上呼叫的设备是不是本设备。如果是,则路,用它判别地址总线上呼叫的设备是不是本设备。如果是,则 本设备就进入工作状态,否则不予理睬。设备选择电路实际上是本设备就进入工作状态,否则不予理睬。设备选择电路实际上是 设备地址的译码器设备地址的译码器。 2. 数据缓冲寄存器数据缓冲寄存器 当

20、进行输入操作时,用数据缓冲寄存器来存放从当进行输入操作时,用数据缓冲寄存器来存放从I/O设备读出的设备读出的 数据,然后送往数据,然后送往CPU;当进行输出操作时,用数据缓冲寄存器来;当进行输出操作时,用数据缓冲寄存器来 存放存放CPU送来的数据,以便需要时经过送来的数据,以便需要时经过I/O设备输出。设备输出。 3. 设备状态位设备状态位 设备状态位是接口中的标志触发器,如设备状态位是接口中的标志触发器,如“忙忙”、“准备就绪准备就绪”、 “错误错误”等,用来标志设备的工作状态,以便接口对外设进行监等,用来标志设备的工作状态,以便接口对外设进行监 视。一旦视。一旦CPU用程序询问用程序询问I

21、/O设备时,就可将状态位信息取至设备时,就可将状态位信息取至CPU 进行分析。进行分析。 7.3.1 中断的基本概念中断的基本概念 中断中断(Interrupt)的概念是在的概念是在20世纪世纪50年代中期提出的,目前,它不仅在年代中期提出的,目前,它不仅在 I/O过程中,而且在多道程序、分时操作、实时处理、人机联系、事故处理、过程中,而且在多道程序、分时操作、实时处理、人机联系、事故处理、 程序的监视和跟踪、目态程序和操作系统的联系以及多处理机系统中各机程序的监视和跟踪、目态程序和操作系统的联系以及多处理机系统中各机 的联系等方面都起着重要作用。的联系等方面都起着重要作用。 从更广泛的含义上

22、来理解,所谓中断是指计算机由任何非寻常的或非预期从更广泛的含义上来理解,所谓中断是指计算机由任何非寻常的或非预期 的急需处理的事件引起的急需处理的事件引起CPU暂时中断现行程序的执行,而转向运行另一服暂时中断现行程序的执行,而转向运行另一服 务程序,去处理这些事件,等处理完后又返回原程序,这一整个执行过程。务程序,去处理这些事件,等处理完后又返回原程序,这一整个执行过程。 1. CPU与与I/O设备并行工作设备并行工作 引入中断系统后,可实现引入中断系统后,可实现CPU与与I/O设备的并行运行,大大提高设备的并行运行,大大提高 了计算机的效率了计算机的效率。 中断 服务 程序 主程序继续执行主

23、程序 中断 服务 程序 主程序主程序 启动 I/O 主机 响应中断 响应中断 返 回 送数据 返 回 送数据 打印机准备打印打印 收 数 据 发中断请求 收数据 再请求 图图7.7 CPU与打印机并行工作与打印机并行工作 2. 提高了机器的可靠性提高了机器的可靠性 在计算机工作时,当运行的程序发生错误,或者硬设备出现某些在计算机工作时,当运行的程序发生错误,或者硬设备出现某些 故障时,机器中断系统可以自动进行处理,避免某些偶然故障引起故障时,机器中断系统可以自动进行处理,避免某些偶然故障引起 的计算错误或停机,提高了机器的可靠性。的计算错误或停机,提高了机器的可靠性。 3. 便于实现人机联系便

24、于实现人机联系 在计算机工作过程中,人要随机地干预机器,如抽查计算的中间在计算机工作过程中,人要随机地干预机器,如抽查计算的中间 结果、了解机器的工作状态、给机器下达临时性的命令等。在没有结果、了解机器的工作状态、给机器下达临时性的命令等。在没有 中断系统的机器里,这些工作几乎是无法完成的。利用中断系统实中断系统的机器里,这些工作几乎是无法完成的。利用中断系统实 现人机通信是很方便、很有效的。现人机通信是很方便、很有效的。 4. 实现多道程序实现多道程序 计算机实现多道程序运行是提高机器效率的有效手段。多道程计算机实现多道程序运行是提高机器效率的有效手段。多道程 序的切换运行需借助于中断系统。

25、在一道程序的运行中,可以由序的切换运行需借助于中断系统。在一道程序的运行中,可以由I/O 中断系统切换到另外一道程序运行,也可以通过分配给每道程序一中断系统切换到另外一道程序运行,也可以通过分配给每道程序一 个固定时间片,利用时钟定时发送中断进行程序切换。个固定时间片,利用时钟定时发送中断进行程序切换。 5. 实现实时处理实现实时处理 所谓实时处理,是指在某个事件或现象出现时及时地进行处所谓实时处理,是指在某个事件或现象出现时及时地进行处 理,而不是集中起来再进行批处理。理,而不是集中起来再进行批处理。 6. 实现目态程序和操作系统的联系实现目态程序和操作系统的联系 在现代计算机中,用户程序往

26、往可以安排一条在现代计算机中,用户程序往往可以安排一条“访问管理程访问管理程 序序”指令来调用操作系统的管理程序,这种调用是通过中断来实指令来调用操作系统的管理程序,这种调用是通过中断来实 现的。通常称机器在执行用户程序时为目态,称机器执行管理程现的。通常称机器在执行用户程序时为目态,称机器执行管理程 序时为管态。通过中断可以实现目态和管态之间的变换。序时为管态。通过中断可以实现目态和管态之间的变换。 7. 多处理机系统各处理机间的联系多处理机系统各处理机间的联系 在多处理机系统中,处理机和处理机间的信息交流和任务切换在多处理机系统中,处理机和处理机间的信息交流和任务切换 都是通过中断来实现的

27、都是通过中断来实现的。 7.3.2 CPU响应中断的条件响应中断的条件 CPU要响应中断必须满足如下要响应中断必须满足如下3个条件:个条件: 中断源有中断请求;中断源有中断请求; CPU允许接受中断请求;允许接受中断请求; 一般情况下,都要等到一条指令执行完毕后才能响一般情况下,都要等到一条指令执行完毕后才能响 应中断,除非遇到特殊应中断,除非遇到特殊 的长指令才允许中途打断它们。的长指令才允许中途打断它们。 引起中断的事件,或者发出中断请求的来源统称为中断源。引起中断的事件,或者发出中断请求的来源统称为中断源。CPU停止执行停止执行 现行程序,转去处理中断请求称为中断响应。若现行程序,转去处

28、理中断请求称为中断响应。若CPU进入可中断方式,即允进入可中断方式,即允 许接受中断请求,则称为许接受中断请求,则称为“开中断开中断”,否则,否则,CPU处于不可中断状态,称为处于不可中断状态,称为 “关中断关中断”,或称为禁止中断。中断请求、中断允许、禁止和中断的响应都,或称为禁止中断。中断请求、中断允许、禁止和中断的响应都 是由硬件实现的。是由硬件实现的。 1. 中断源的种类中断源的种类 由外围设备引起的中断,要求由外围设备引起的中断,要求CPU介入介入I/O操作。例如,慢速操作。例如,慢速 设备的缓冲寄存器准备好接收或发送数据;信息块传送的前、后处设备的缓冲寄存器准备好接收或发送数据;信

29、息块传送的前、后处 理;设备的启动或非数据控制动作理;设备的启动或非数据控制动作(如磁带、磁盘定位如磁带、磁盘定位)的完成;的完成;I/O 的任一环节出错等。的任一环节出错等。 由运算器产生的中断,由运算器产生的中断, 由存储器产生的中断,由存储器产生的中断, 控制器产生的中断,控制器产生的中断, 过程控制产生的中断,过程控制产生的中断, 时钟定时中断。时钟定时中断。 电源故障中断。电源故障中断。 发生在主机内部发生在主机内部 的中断称为内中断。的中断称为内中断。 内中断有强迫中断内中断有强迫中断 和自愿中断两种。和自愿中断两种。 强迫中断产生的原强迫中断产生的原 因有硬件故障和软因有硬件故障

30、和软 件出错等。强迫中件出错等。强迫中 断是在断是在CPU没有事没有事 先预料的情况下发先预料的情况下发 生的,此时生的,此时CPU不不 得不停下现行的工得不停下现行的工 作。作。 自愿中断是出于自愿中断是出于 计算机系统管理的计算机系统管理的 需要,自愿地进入需要,自愿地进入 中断。中断。 上述中断类型如下所示:上述中断类型如下所示: 中断 内中断 外中断(强迫中断) 自愿中断指令中断 强迫中断 硬件故障 软件出错 外设请求 人的干预 2. 中断源的建立中断源的建立 为了记录中断事件是否发生,利用了具有存储功能的触发器,为了记录中断事件是否发生,利用了具有存储功能的触发器, 一般称为中断触发

31、器。当一个中断源有中断请求时,其相应的一般称为中断触发器。当一个中断源有中断请求时,其相应的 中断触发器置成中断触发器置成“1”状态。此时,该中断源向状态。此时,该中断源向CPU发出中断请发出中断请 求信号。求信号。 多位中断触发器构成一个中断寄存器,其中每一位对应一种多位中断触发器构成一个中断寄存器,其中每一位对应一种 中断请求源。这每一位称为一个中断位,中断寄存器的内容称中断请求源。这每一位称为一个中断位,中断寄存器的内容称 为中断字或中断码。为中断字或中断码。CPU在进行中断处理时,根据中断字和中在进行中断处理时,根据中断字和中 断位确定中断源,以便用相应的服务程序来处理。断位确定中断源

32、,以便用相应的服务程序来处理。 3. 中断的分级与中断优先权中断的分级与中断优先权 在设计中断系统时,要把全部中断源按中断性质和处理的轻在设计中断系统时,要把全部中断源按中断性质和处理的轻 重缓急进行排队并给予优先权。所谓优先权是指有多个中断同重缓急进行排队并给予优先权。所谓优先权是指有多个中断同 时发生时,对中断响应的优先次序。时发生时,对中断响应的优先次序。 4. 禁止中断和中断屏蔽禁止中断和中断屏蔽 (1) 禁止中断禁止中断 产生中断源后,由于某种条件的存在,产生中断源后,由于某种条件的存在,CPU不能中止现不能中止现 行程序的执行,称为禁止中断。一般在行程序的执行,称为禁止中断。一般在

33、CPU内部设有一个内部设有一个 “中断允许中断允许”触发器。只有该触发器置触发器。只有该触发器置“1”状态,才允许状态,才允许 中断源等待中断源等待CPU响应;如果该触发器被清除,则不允许所响应;如果该触发器被清除,则不允许所 有中断源申请中断。前者称为允许中断,后者称为禁止中有中断源申请中断。前者称为允许中断,后者称为禁止中 断。断。 “中断允许中断允许”触发器通过触发器通过“开中断开中断”、“关中断关中断”指令指令 来置位或复位。来置位或复位。 (2) 中断屏蔽中断屏蔽 当产生中断请求后,用程序方式有选择地封锁部分中当产生中断请求后,用程序方式有选择地封锁部分中 断,而允许其余的中断仍得到

34、响应,称为中断屏蔽。断,而允许其余的中断仍得到响应,称为中断屏蔽。 实现方法是为每一个中断源设置一个中断屏蔽触发器来屏实现方法是为每一个中断源设置一个中断屏蔽触发器来屏 蔽该设备的中断请求。具体来说,用程序方法将该触发器蔽该设备的中断请求。具体来说,用程序方法将该触发器 置置“1”,则对应的设备中断被封锁,若将其置,则对应的设备中断被封锁,若将其置“0”,则允,则允 许该设备的中断请求得到响应。许该设备的中断请求得到响应。 7.3.3 中断处理中断处理 一旦一旦CPU响应中断的条件得到满足,响应中断的条件得到满足,CPU便开始响应中断,转便开始响应中断,转 入中断服务程序,进行中断处理。入中断

35、服务程序,进行中断处理。 按照中断处理方式可以把中断分为简单中断和程序中断两种。按照中断处理方式可以把中断分为简单中断和程序中断两种。 程序中断。如果主机在响应中断请求后,是通过执行一段程序中断。如果主机在响应中断请求后,是通过执行一段 服务程序来处理有关事项的,则称为程序中断,简称为中断。这服务程序来处理有关事项的,则称为程序中断,简称为中断。这 种方式要求种方式要求CPU响应中断后,暂停原程序的执行,并将断点响应中断后,暂停原程序的执行,并将断点(主程主程 序返回地址序返回地址)和现场情况和现场情况(如程序状态字以及有关寄存器内容如程序状态字以及有关寄存器内容)保存保存 起来,然后转入中断

36、服务程序的执行。程序中断主要用于中、慢起来,然后转入中断服务程序的执行。程序中断主要用于中、慢 速速I/O设备的数据传送以及要求进行复杂处理的场合。设备的数据传送以及要求进行复杂处理的场合。 简单中断。在简单中断。在DMA方式的方式的 I/O过程中,主机响应中断后不要过程中,主机响应中断后不要 执行服务程序,而是让出一个或几个存取周期供执行服务程序,而是让出一个或几个存取周期供I/O设备与主存直设备与主存直 接交换数据。此时,接交换数据。此时,CPU可以暂停运行,也可以执行非访问内存可以暂停运行,也可以执行非访问内存 储器操作。这种中断只是暂停一个或几个存取周期,不破坏被中储器操作。这种中断只

37、是暂停一个或几个存取周期,不破坏被中 断的程序现场,因此,不需要进行现场保护工作。这种中断称为断的程序现场,因此,不需要进行现场保护工作。这种中断称为 简单中断,一般称为简单中断,一般称为DMA。 1中断处理步骤中断处理步骤 计算机对中断的处理各具特色,就计算机对中断的处理各具特色,就 其多数而论,中断处理过程如图其多数而论,中断处理过程如图7.8所所 示。示。 关中断。进入不可再次响应关中断。进入不可再次响应 中断的状态。因为接下去要保存中断的状态。因为接下去要保存 断点,保存现场。在保存现场过断点,保存现场。在保存现场过 程中,即使有更高级的中断源申程中,即使有更高级的中断源申 请中断,请

38、中断,CPU也不应该响应,否也不应该响应,否 则,如果把现场保存不完整,在则,如果把现场保存不完整,在 中断服务程序结束之后,也就不中断服务程序结束之后,也就不 能正确地恢复现场并继续执行现能正确地恢复现场并继续执行现 行程序了。行程序了。 保存断点和现场。为了在保存断点和现场。为了在 中断处理结束后能正确地返回到中断处理结束后能正确地返回到 中断点,在响应中断时,必须把中断点,在响应中断时,必须把 当前的程序计数器当前的程序计数器PC中的内容中的内容(即即 断点断点)保存起来。保存起来。 对现场信息的处理有两种方式:一种是由硬件对现场信息进行保存和对现场信息的处理有两种方式:一种是由硬件对现

39、场信息进行保存和 恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。恢复;另一种是由软件即中断服务程序对现场信息保存和恢复。 对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有对于由硬件保存现场信息的方式,各种不同的机器有不同的方案。有 的机器把断点保存在主存固定的单元,中断屏蔽码也保存在固定单元中;的机器把断点保存在主存固定的单元,中断屏蔽码也保存在固定单元中; 有的机器则不然,它在每次响应中断后把有的机器则不然,它在每次响应中断后把CPUCPU中程序状态字和指令计数器内中程序状态字和指令计数器内 容相继压入堆栈,再从指定的两个主存单元分别取出新的指令计数器内容容相继压入堆栈

40、,再从指定的两个主存单元分别取出新的指令计数器内容 和和CPUCPU中程序状态字来代替,称为交换新、旧状态字方式。中程序状态字来代替,称为交换新、旧状态字方式。 判别中断条件,转向中断服务程序。在多个中断条件同时请求中判别中断条件,转向中断服务程序。在多个中断条件同时请求中 断的情况下,本次实际响应的只能是优先权最高的那个中断源,所以,需断的情况下,本次实际响应的只能是优先权最高的那个中断源,所以,需 进一步判别中断条件,并转入相应的中断服务程序入口。进一步判别中断条件,并转入相应的中断服务程序入口。 开中断。因为接下去就要执行中断服务程序,因此开中断允许更开中断。因为接下去就要执行中断服务程

41、序,因此开中断允许更 高级中断请求得到响应,实现中断嵌套。高级中断请求得到响应,实现中断嵌套。 执行中断服务程序。执行中断服务程序。 退出中断。退出中断。 在退出时,又应进入不可中断状态,即关中断,恢复现场,恢复断点,在退出时,又应进入不可中断状态,即关中断,恢复现场,恢复断点, 然后开中断,返回原程序执行。然后开中断,返回原程序执行。 2. 判别中断条件判别中断条件 (1) 查询法查询法 这是最简单的实现这是最简单的实现 方法。如图方法。如图7.9所示,所示, 每一个中断源都附带每一个中断源都附带 一个标志,该标志置一个标志,该标志置 位代表相应中断源请位代表相应中断源请 求中断,因此,判别

42、求中断,因此,判别 中断条件只需用测试中断条件只需用测试 指令按一定优先次序指令按一定优先次序 检查这些标志,先遇检查这些标志,先遇 到的第一个到的第一个“1”标志标志 即优先得到服务,在即优先得到服务,在 此之前,遇到此之前,遇到“0”标标 志均跳过而继续检查志均跳过而继续检查 下一个下一个。 1 系统总线 主存 设备 控制器 中断 请求 0 I/O 设备 0 设备 控制器 中断请求 n I/O 设备 n CPU INT 图图7.9 中断请求逻辑图中断请求逻辑图 2#设备 有请求吗? 是 执行 2#设备 中断服务程序 否 是 执行 0#设备 中断服务程序 保存断点和现场 1#设备 有请求吗?

43、 是 执行 1#设备 中断服务程序 否 0#设备 有请求吗? 恢复现场和断点 返回主程序 否 图图7.10 查询中断执行过程流程图查询中断执行过程流程图 这种软件查询方法这种软件查询方法 适用于低速和中速设备。适用于低速和中速设备。 它的优点是中断条件标志它的优点是中断条件标志 的优先级可用程序任意改的优先级可用程序任意改 变,灵活性好。缺点是设变,灵活性好。缺点是设 备多时速度太慢。备多时速度太慢。 (2) 串行排队链法与向量中断串行排队链法与向量中断 串行排队链法是由硬件实现的具有公共请求线的判优选择方式,串行排队链法是由硬件实现的具有公共请求线的判优选择方式, 其逻辑线路如图其逻辑线路如

44、图7.11所示。所示。 & IR1 INTA & & IR1 INTI & & IR2IS1IS2 IR2 & & & IR3IS3 23 45 6 789 编码器 INTO 数据总线 001000001011001010 1 IR3 图图7.11 串行排队链判优识别及中断向量产生逻辑线路串行排队链判优识别及中断向量产生逻辑线路 图中下半部分由门图中下半部分由门1门门6组成一个串行的优先链,称做排队链。组成一个串行的优先链,称做排队链。 IRi是从各设备来的中断请求信号,优先顺序从高到低,依次是:是从各设备来的中断请求信号,优先顺序从高到低,依次是:IR1、 IR2、IR3。若要扩充中断源,则

45、可根据其优先权的高低串接于优先链。若要扩充中断源,则可根据其优先权的高低串接于优先链 的左端和右端。图的上半部分是一个编码电路,它将产生请求中断的左端和右端。图的上半部分是一个编码电路,它将产生请求中断 的设备中优先权最高的设备码的设备中优先权最高的设备码(中断向量中断向量)经总线送往经总线送往CPU。 图中,图中,IS1、IS2、IS3为为IR1、IR2、IR3对应的中断排队选中信号。对应的中断排队选中信号。 INTA是由是由CPU送来的取中断设备码信号。为中断排队输入信号,为送来的取中断设备码信号。为中断排队输入信号,为 中断排队输出信号。总线标号由下而上为第中断排队输出信号。总线标号由下

46、而上为第0位至第位至第5位。当没有更位。当没有更 高优先权的请求时,高优先权的请求时,=0,门,门1的输出为高电平,即的输出为高电平,即IS1=1;若此时中;若此时中 断请求信号断请求信号IR1为高为高(即有中断请求即有中断请求),且,且INTA为高电平,则为高电平,则IR1被选中,被选中, 此时,为低,使得此时,为低,使得IS2、IS3全为低电平,则全为低电平,则IR2、IR3中断请求被封锁。中断请求被封锁。 这时向这时向CPU发出中断请求,并由译码电路将设备码发出中断请求,并由译码电路将设备码(001010)2送总线。送总线。 CPU从总线取走该设备码,并执行其中断服务程序。从总线取走该设

47、备码,并执行其中断服务程序。 若此时若此时IR1无中断请求,则为高电平,无中断请求,则为高电平,IR1为低电平,经过门为低电平,经过门2和和 门门3,使,使IS2为高电平。如果为高电平。如果IS2为高电平,则被选中。否则,将顺序选为高电平,则被选中。否则,将顺序选 择请求中断的中断源优先权最高者。择请求中断的中断源优先权最高者。 使用上述中断判优方式时,可以采用不同的转向中断服务程序入使用上述中断判优方式时,可以采用不同的转向中断服务程序入 口地址的方法。一种是在中断总控程序中设一条专门接收中断指令口地址的方法。一种是在中断总控程序中设一条专门接收中断指令 INTA,得到设备号后,再由主存的跳

48、跃表产生中断服务程序入口地址。,得到设备号后,再由主存的跳跃表产生中断服务程序入口地址。 另一种是目前应用更广泛的方法,叫做向量中断。另一种是目前应用更广泛的方法,叫做向量中断。 向量中断方式是为每一个中断源设置一个中断向量的方式。中断向量中断方式是为每一个中断源设置一个中断向量的方式。中断 向量包括了该中断源的中断服务程序入口地址。它完全由硬件直接产向量包括了该中断源的中断服务程序入口地址。它完全由硬件直接产 生中断响应信号,经过中断排队和编码逻辑,由被选中的设备直接送生中断响应信号,经过中断排队和编码逻辑,由被选中的设备直接送 回中断向量。回中断向量。 (3) 独立请求法独立请求法 独立请

49、求方式优先排队线路如图独立请求方式优先排队线路如图7.12所示。其中每个中断请求信号所示。其中每个中断请求信号 保存在保存在“中断请求中断请求”触发器中,经触发器中,经“中断屏蔽中断屏蔽”触发器控制后,产触发器控制后,产 生来自中断请求触发器的请求信号生来自中断请求触发器的请求信号IR1 、IR2 、IR3 、IR4 。而。而IR1、 IR2、IR3、IR4是经过优先排队后送给是经过优先排队后送给CPU的中断请求信号。的中断请求信号。IR1的的 优先权最高,优先权最高,IR2 、IR3 、IR4 的优先权依次降低。具有较高优先权的优先权依次降低。具有较高优先权 的中断请求自动封锁比它优先权低的

50、所有中断请求。编码电路根据的中断请求自动封锁比它优先权低的所有中断请求。编码电路根据 排队的中断源输出信号排队的中断源输出信号IRi产生一个预定的地址码,转向中断服务程产生一个预定的地址码,转向中断服务程 序入口地址。序入口地址。 这种方法的优点是速度快,但是连线多,逻辑线路复杂。这种方法的优点是速度快,但是连线多,逻辑线路复杂。 向量地址 编 码 器 & & & IR1IR2 & & & IR3 & & & IR4 & IR1IR2IR3IR4 1 0 1 1 0 4 1 0 3 1 0 2 1 0 1 1 0 4 1 0 3 1 0 2 中断请求寄存器中断屏蔽寄存器 排 队 器 图7.12

51、 独立请求方式的优先排队线路逻辑 7.3.4 单级中断与多级中断单级中断与多级中断 1. 单级中断单级中断 单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中 断源都属于同一级,所有中断源触发器排成一行,其优先次序是离断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的近的 优先权高。当优先权高。当CPU响应某一中断请求时,执行该中断源的中断服务程序而不响应某一中断请求时,执行该中断源的中断服务程序而不 允许其他中断源打断中断服务程序,即使优先权比它高的中断源也不允许。允许其他中断源打断中断服务程序,

52、即使优先权比它高的中断源也不允许。 只有该中断服务程序执行完毕后,才能响应其他中断。只有该中断服务程序执行完毕后,才能响应其他中断。 & S 0 1 IM 0 1 IR 中断接口 0 IR 中断接口 1 中断接口 n INTA CPU 中断 地址线 数据线 主程序 单级中断 服务程序 (a) (b) 图图7.13 单级中断单级中断 (a) 单级中断示意图;单级中断示意图;(b) 单级中断系统结构图单级中断系统结构图 2. 多级中断多级中断 多级中断系统是指计算机系统中有相当多的中断源,根据各中断多级中断系统是指计算机系统中有相当多的中断源,根据各中断 事件的轻重缓急程度不同而分成若干级别,每一

53、中断级分配给一个优事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优 先权。一般说来,优先权高的中断级可以打断优先权低的中断服务程先权。一般说来,优先权高的中断级可以打断优先权低的中断服务程 序,以程序嵌套方式进行工作。如图序,以程序嵌套方式进行工作。如图7.14所示,三级中断的优先权高所示,三级中断的优先权高 于二级的,而二级中断的优先权又高于一级的。于二级的,而二级中断的优先权又高于一级的。 & 0 1 IM 2 2 级 IR 0 1 IR 2 中断优先缓 排队电路 与 中 断 控 制 逻辑 设备 A设备 B设备 C 1 级 IR & 0 1 IM 1 0 1 IR 1 设备 D

54、设备 E设备 F & 0 1 IM 0 0 级 IR 0 1 IR 0 设备 G设备 H设备 I CPU 高优先权低 高 优先权 低 图7.14 多级中断 (b) 一维、二维多级中断结构 例例7.1 图图7.14所示的是一个二维的中断系统,请问:所示的是一个二维的中断系统,请问: 在中断情况下,在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设和设备的优先级如何考虑?请按降序排列各设 备的中断优先级。备的中断优先级。 若若CPU现正执行设备现正执行设备B的中断服务程序,则的中断服务程序,则IM2、IM1、IM0的状态是的状态是 什么?如果什么?如果CPU正执行设备正执行设备D的中断服

55、务程序,则的中断服务程序,则IM2、IM1、IM0的状态又的状态又 是什么?是什么? 每一级的每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能否对某个优先级的个别设备单独进行屏蔽?如果不 能,则采取什么办法才能达到目的?能,则采取什么办法才能达到目的? 假如要求设备假如要求设备C一提出中断请求,一提出中断请求,CPU就立即进行响应,如何调整就立即进行响应,如何调整 才能满足此要求?才能满足此要求? 解解 在中断情况下,在中断情况下,CPUCPU的优先级最低,各设备的优先次序是:的优先级最低,各设备的优先次序是:AA BCDEFGHICPUBCDEFGHICPU。 执行设备执行设备B

56、 B的中断服务程序时,的中断服务程序时,IMIM2 2 、IMIM1 1 、IMIM0 0=111=111;执行设备;执行设备D D 的中断服务程序时,的中断服务程序时,IMIM2 2 、IMIM1 1、IMIM0 0=011=011。 每一级的每一级的IMIM标志不能对某个优先级的个别设备进行单独屏蔽,可标志不能对某个优先级的个别设备进行单独屏蔽,可 将接口中的将接口中的EI(EI(中断允许中断允许) )标志清标志清“0”0”,它禁止设备发出中断请求。,它禁止设备发出中断请求。 要使设备要使设备C C的中断请求及时得到响应,可将设备的中断请求及时得到响应,可将设备C C从第从第2 2级取出来

57、,级取出来, 单独放在第单独放在第3 3级上,使第级上,使第3 3级的优先级最高,即令级的优先级最高,即令IMIM3 3=0=0。 7.3.5 程序中断方式的基本接程序中断方式的基本接 口口 程序中断由外设接口的状态和程序中断由外设接口的状态和CPU两方面来控制。在接口方面,有决定两方面来控制。在接口方面,有决定 是否向是否向CPU发出中断请求的机构,主要是接口中的发出中断请求的机构,主要是接口中的“准备就绪准备就绪”标志标志(RD) 和和“允许中断允许中断”标志标志(EI)两个触发器。在两个触发器。在CPU方面,有决定是否受理中断请方面,有决定是否受理中断请 求的机构,主要是求的机构,主要是

58、“中断请求中断请求”标志标志(IR)和和“中断屏蔽中断屏蔽”标志标志(IM)两个触发两个触发 器。上述器。上述4个标志触发器的具体功能如下:个标志触发器的具体功能如下: 准备就绪的标志准备就绪的标志(RD)一旦设备做好一次数据的接收或发送工作,一旦设备做好一次数据的接收或发送工作, 便发出一个设备动作完毕信号,使便发出一个设备动作完毕信号,使RD标志为标志为“1”,它就是程序查询方式,它就是程序查询方式 中的中的Ready (就绪就绪)标志。在中断方式中,该标志用作为中断源触发器,标志。在中断方式中,该标志用作为中断源触发器, 简称中断触发器。简称中断触发器。 允许中断触发器允许中断触发器(E

59、I)可以用程序指令来置位。可以用程序指令来置位。EI 为为“1”时,某时,某 设备可以向设备可以向CPU发出中断请求;发出中断请求;EI为为“0”时,不能向时,不能向CPU发出中断请求,发出中断请求, 这意味着某中断的中断请求被禁止。设置这意味着某中断的中断请求被禁止。设置EI标志的目的就是通过程序来标志的目的就是通过程序来 控制是否允许某设备发出中断请求。控制是否允许某设备发出中断请求。 中断请求触发器中断请求触发器(IR)它暂存中断请求线上由设备发出的中断请它暂存中断请求线上由设备发出的中断请 求信号。当求信号。当IR标志为标志为“1”时,表示设备发出了中断请求。时,表示设备发出了中断请求

60、。 中断屏蔽触发器中断屏蔽触发器(IM)CPU是否受理中断的标志。是否受理中断的标志。IM标志为标志为“0” 时,时,CPU可以受理外界的中断请求,反之,可以受理外界的中断请求,反之,IM标志为标志为“1”时,时,CPU不受不受 理外界的中断请求。理外界的中断请求。 & 0 1 IM 0 1 IR 控制 S 中断 公用寄存器 PCIR 数据 总线 IR 请求 C 中断向量逻辑 数据缓冲寄存器 设备选择 & 0 1 EI 0 1 BS 0 1 RD INTA CPU接口设备 动作开始 动作结束 传送数据 图7.15 程序中断方式基本接口示意图 图图7.15中,标号中,标号表示由某一外设输入数据的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论