输入 / 输出和中断

44
输输 输输 / / 输输输输输 输输输输输 7.1 7.1 输输输输输 输输输 输输输输输 输输输 7.2 CPU 7.2 CPU 输输输输输输输输输输 输输输输输输输输输输 7.3 7.3 输输 输输 7.4 8086/8088 7.4 8086/8088 输输输输输输输输7.5 8259A 7.5 8259A 输输输输输输输输 输输输输输输输输 6.6 8237DMA 6.6 8237DMA 输输输 输输输 7 7

Upload: trixie

Post on 19-Mar-2016

130 views

Category:

Documents


8 download

DESCRIPTION

输入 / 输出和中断. 第 7 章. 7.1 外设接口的一般结构 7.2 CPU 与外设交换数据的方式 7.3 中断 7.4 8086/8088 的中断系统 7.5 8259A 可编程中断控制器 6.6 8237DMA 控制器. 外设接口的一般结构. 7.1. ● 一个简单的外设接口框图如图 7-1 所示,从图中可以看出 CPU 通过一个外设接口同外设之间交换的信息主要有三类: 数据信息、状态信息、控制信息。. 7.1.1 数据信息. ● 在微型机中,数据大致为三种基本类型 :. 模拟量. 开关量. 数字量. 状态信息. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 输入 / 输出和中断

输入输入 // 输出和中输出和中断断7.1 7.1 外设接口的一般结构外设接口的一般结构7.2 CPU7.2 CPU 与外设交换数据的方式与外设交换数据的方式7.3 7.3 中断中断7.4 8086/80887.4 8086/8088 的中断系统 的中断系统 7.5 8259A7.5 8259A 可编程中断控制器可编程中断控制器6.6 8237DMA6.6 8237DMA 控制器控制器

第 第 7 7 章章

Page 2: 输入 / 输出和中断

外设接口的一般结构外设接口的一般结构●● 一个简单的外设接口框图如图一个简单的外设接口框图如图 7-17-1 所示,从图中可以看出所示,从图中可以看出CPUCPU 通过一个外设接口同外设之间交换的信息主要有三类: 通过一个外设接口同外设之间交换的信息主要有三类: 数据信息、状态信息、控制信息。 数据信息、状态信息、控制信息。

7.1.1 7.1.1 数据信息数据信息●● 在微型机中,数据大致为三种基本类型在微型机中,数据大致为三种基本类型::

数数字字量量模模拟拟量量

开开关关量量

7.17.1

Page 3: 输入 / 输出和中断

状态信息状态信息

●● READYREADY (准备好信号)表示输入设备已经准备好信息,(准备好信号)表示输入设备已经准备好信息, CPUCPU 可可执行输入指令从该外设输入数据。执行输入指令从该外设输入数据。BUSYBUSY (忙信号)表示输出设备正在输出信息,即在“忙”着,同(忙信号)表示输出设备正在输出信息,即在“忙”着,同时也等于指示时也等于指示 CPUCPU 等待。等待。

● ● 状态信息表示外设当前所处的工作状态状态信息表示外设当前所处的工作状态例如例如

7.1.27.1.2

控制信息控制信息 ●● 控制信息是由控制信息是由 CPUCPU 发出的,用于控制发出的,用于控制 I/OI/O 接口的工作方式以及外接口的工作方式以及外设的启动和停止等等。状态信息和控制信息以及数据信息,通常都以设的启动和停止等等。状态信息和控制信息以及数据信息,通常都以数据形式通过数据总线传送,这些信息在数据形式通过数据总线传送,这些信息在 I/OI/O 接口中分别存放在不同接口中分别存放在不同的端口中。的端口中。

7.1.37.1.3

Page 4: 输入 / 输出和中断

CPUCPU 与外设交换数据的方与外设交换数据的方式式7.2.1 7.2.1 程序控制传递方式程序控制传递方式

●● 程序控制的数据传送分为无条件传送、查询传送和中断传送。程序控制的数据传送分为无条件传送、查询传送和中断传送。●● 这类传送方式的特点是,以这类传送方式的特点是,以 CPUCPU 为中心,数据传送的控制来自为中心,数据传送的控制来自CPUCPU ,通过预先编制好的输入或输出程序(传送指令和,通过预先编制好的输入或输出程序(传送指令和 I/OI/O 指令)指令)实现数据的传送 。实现数据的传送 。

7.7.22

1. 1. 无条件传送方式无条件传送方式2.2. 查询传送方式查询传送方式3.3. 中断传送方式中断传送方式

程序控制传递方式程序控制传递方式

Page 5: 输入 / 输出和中断

无条件传送方式无条件传送方式● ● 无条件传送方式又称同步传送方式。主要用于外设工作的时间无条件传送方式又称同步传送方式。主要用于外设工作的时间已知的场合,外设必须在微处理器限定的指令时间内准备就绪,已知的场合,外设必须在微处理器限定的指令时间内准备就绪,并完成数据的接收或发送。并完成数据的接收或发送。

●● 通常采用的办法是:通常采用的办法是:把把 I/OI/O 指令插入到程序中,当程序执行到该指令插入到程序中,当程序执行到该 I/OI/O 指令时,外设必定已指令时,外设必定已为传送数据作好了准备,于是在此指令时间内完成数据传送任务。为传送数据作好了准备,于是在此指令时间内完成数据传送任务。

查询传送方式查询传送方式●● 查询传送方式又称异步传送方式。查询传送方式又称异步传送方式。

Page 6: 输入 / 输出和中断

中断传送方式中断传送方式● ● 利用中断来实现利用中断来实现 CPUCPU 与外设之间的数据传送,这就是与外设之间的数据传送,这就是中断传送方式。中断传送方式。● ● 采用中断传送方式时,采用中断传送方式时, CPUCPU 从启动外设到外设准备就从启动外设到外设准备就绪这段时间,不像查询方式一样处于等待状态,而仅仅是绪这段时间,不像查询方式一样处于等待状态,而仅仅是在外设准备好数据传送的情况下才中止在外设准备好数据传送的情况下才中止 CPUCPU 执行的主程执行的主程序序 ,, 在一定程度上实现了主机和外设的并行工作。在一定程度上实现了主机和外设的并行工作。

(1)(1) 通过执行一条输入指令,读取所选外设的当前状态通过执行一条输入指令,读取所选外设的当前状态。。(2) (2) 根据该设备的状态决定程序去向根据该设备的状态决定程序去向

●● 完成一次传送过程的步骤如下:完成一次传送过程的步骤如下:

Page 7: 输入 / 输出和中断

DMADMA (直接存储器存取)传递方(直接存储器存取)传递方式式● ● 在外设和内存之间直接传送数据的方式,即 在外设和内存之间直接传送数据的方式,即 DMADMA 传送方式。传送方式。● ● DMADMA (( Direct Memory AccessDirect Memory Access )是一种不需要)是一种不需要 CPUCPU 干预干预也不需要软件介入的高速数据传送方式。也不需要软件介入的高速数据传送方式。

7.2.27.2.2

DMADMA 操作的基本方法操作的基本方法周期挪用(周期挪用( Cycle Stealing)Cycle Stealing)

周期扩散周期扩散

CPUCPU 停机方式停机方式

Page 8: 输入 / 输出和中断

周期挪用(周期挪用( Cycle Stealing Cycle Stealing ))● ● 利用利用 CPUCPU 不访问存储器的那些周期来实现不访问存储器的那些周期来实现 DMADMA 操作,此时操作,此时 DMADMACC 可以使用总线而不用通知可以使用总线而不用通知 CPUCPU 也不会妨碍也不会妨碍 CPUCPU 的工作。这种方法的的工作。这种方法的关键是如何识别合适的可挪用的周期,以避免同关键是如何识别合适的可挪用的周期,以避免同 CPUCPU 的操作发生重叠。的操作发生重叠。

● ● 这种方法会使这种方法会使 CPUCPU 的处理速度减慢,而且的处理速度减慢,而且 CPUCPU 时钟周期的加宽是时钟周期的加宽是有限的。因此用这种方法进行有限的。因此用这种方法进行 DMADMA 传送,一次只能传送一个字节。传送,一次只能传送一个字节。

周期扩散周期扩散

CPUCPU 停机方式停机方式● ● 这是最常用的、最简单的传送方式,大部分这是最常用的、最简单的传送方式,大部分 DMACDMAC 都采用这种方式。都采用这种方式。

Page 9: 输入 / 输出和中断

DMADMA 的传送方式的传送方式通常,大部分通常,大部分 DMACDMAC 都有三种都有三种 DMA DMA 传送方式:传送方式:

成成组组传传送送方方式式

请请求求传传送送方方式式

单字传送方

单字传送方式式

Page 10: 输入 / 输出和中断

单字节传送方式单字节传送方式● ● 每次每次 DMADMA 传送只传送一个字节的数据,传送后释放总线由传送只传送一个字节的数据,传送后释放总线由 CPCPUU 控制总线至少一个完整的总线周期。以后又测试控制总线至少一个完整的总线周期。以后又测试 DMADMA 请求线请求线 DRDREQEQ ,若有效,再进入,若有效,再进入 DMADMA 周期。周期。

成组传送方式成组传送方式● ● 一个一个 DMADMA 请求可以传送一组信息,这一组信息的字节数由编程请求可以传送一组信息,这一组信息的字节数由编程决定(在决定(在 DMACDMAC 初始化时),只要在初始化时),只要在 DACKDACK 有效之前有效之前 DREQDREQ 保持有保持有效即可。一旦效即可。一旦 DACKDACK 有效,不管有效,不管 DREQDREQ 是否有效,是否有效, DMACDMAC 一直不放一直不放弃总线控制权,直到整个数组传送完。弃总线控制权,直到整个数组传送完。请求传送方式请求传送方式

● ● 又称查询传送方式。又称查询传送方式。

Page 11: 输入 / 输出和中断

DMACDMAC应该具有如下功能:应该具有如下功能:(( 11 ) 能接收外设的请求,向) 能接收外设的请求,向 CPUCPU 发出发出 DMADMA 请求信号。请求信号。(( 22 ) 当) 当 CPU CPU 发出发出 DMADMA 响应信号后,响应信号后, DMACDMAC 接管对接管对总线的控制,进入总线的控制,进入 DMADMA 方式。方式。(( 33 ) 能寻址存储器,即能输出地址信息和修改地址。) 能寻址存储器,即能输出地址信息和修改地址。

DMACDMAC (( DMADMA 控制器)的基本功控制器)的基本功能能

(( 44 ) 能向存储器和外设发生相应的读) 能向存储器和外设发生相应的读 //写控制信号。写控制信号。(( 55 ) 能控制传送的字节数,判断) 能控制传送的字节数,判断 DMADMA 是否结束。是否结束。(( 66 ) 在) 在 DMADMA 传送结束后,能结束传送结束后,能结束 DMADMA请求信号,请求信号,释放总线,使释放总线,使 CPUCPU 恢复正常工作。恢复正常工作。

Page 12: 输入 / 输出和中断

中断中断7.3.1 7.3.1 概述概述

● ● 中断是外设随机地(指主程序运行到任何一条指令时)或程序预先中断是外设随机地(指主程序运行到任何一条指令时)或程序预先安排产生中断请求信号,暂停安排产生中断请求信号,暂停 CPUCPU 正在运行的程序,转入执行称为中正在运行的程序,转入执行称为中断服务的子程序,中断服务完毕后,返回到主程序被中断处继续执行断服务的子程序,中断服务完毕后,返回到主程序被中断处继续执行的过程。的过程。

7.37.3

中断源中断源 ●● 引起中断的事件称为中断源,通常中断源有以下几种:引起中断的事件称为中断源,通常中断源有以下几种:

(1)(1) 输入、输出设备输入、输出设备 : : 如键盘、显示器和打印机等如键盘、显示器和打印机等 ;;(2)(2) 数据通道数据通道 : : 如磁带等如磁带等 ;;(3)(3) 实时控制过程中的各种参数实时控制过程中的各种参数 ;;(4)(4) 故障源故障源 : : 如掉电保护等如掉电保护等 ; ; (5) (5) 控制系统的现场测试信号以及软件中断。控制系统的现场测试信号以及软件中断。

Page 13: 输入 / 输出和中断

● ● 为了满足上述各种条件下的要求为了满足上述各种条件下的要求 ,, 中断系统应具有以中断系统应具有以下下

1.1. 能实现中断响应、中断服务和中断返回能实现中断响应、中断服务和中断返回 2.2. 能实现中断优先级排队能实现中断优先级排队 3.3. 能实现中断嵌套能实现中断嵌套

::功能功能

Page 14: 输入 / 输出和中断

中断过程与中断管理中断过程与中断管理1.1. 中断过程中断过程

● ● 对于不同的微机系统,对于不同的微机系统, CPUCPU 中断处理的具体过程不尽相中断处理的具体过程不尽相同,但是一个完整的中断基本过程应包括:中断请求、中断同,但是一个完整的中断基本过程应包括:中断请求、中断判优、中断响应、中断处理及中断返回等五个基本过程。判优、中断响应、中断处理及中断返回等五个基本过程。

7.3.27.3.2

中中断断请请求求中中断断判判优优

中中断断响响应应中中断断处处理理

中中断断返返回回

Page 15: 输入 / 输出和中断

(( 11 )) 软件查询方式 软件查询方式●● 软件查询优先方式是最简单的中断优先处理方式。图软件查询优先方式是最简单的中断优先处理方式。图 7.57.5 显显示了采用软件查询方式的接口电路。示了采用软件查询方式的接口电路。

22..

中断优先权中断优先权

●●硬件优先权排队方式常用的有两种:硬件优先权排队方式常用的有两种:

② ② 专用硬件方式——可编程的中断控制器。采用可编程中断控制专用硬件方式——可编程的中断控制器。采用可编程中断控制器,是当前微型计算机系统中解决中断优先权管理的常用办法。器,是当前微型计算机系统中解决中断优先权管理的常用办法。详细说明将在本章第详细说明将在本章第 55 节介绍。节介绍。

(( 22 )硬件优先权排队电路)硬件优先权排队电路

① ① 简单硬件方式——菊花链法或链式优先权排队电路。链式优先简单硬件方式——菊花链法或链式优先权排队电路。链式优先权排队逻辑电路如图权排队逻辑电路如图 7.77.7 所示。所示。

Page 16: 输入 / 输出和中断

图图 7-6 7-6 软件查询方式流程软件查询方式流程图图

保留现场保留现场

AA 申请服务申请服务 ??

BB申请服务申请服务 ??

CC 申请服务申请服务 ??

恢复现场恢复现场

外设外设 AA 中断服务程序中断服务程序

外设外设 BB 中断服务程序中断服务程序

外设外设 CC 中断服务程序中断服务程序

YY

YY

YY

NN

NN

NN

Page 17: 输入 / 输出和中断

8086/8088的中断系统7.4.1 中断结构1.1. 中断分类中断分类●● 8086/8088CPU8086/8088CPU 可以处理可以处理 256256 种类型的中断源,这些中断源可分为种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。硬件中断和软件中断两大类。2.2. 中断向量表中断向量表●● 在在 80868086 系统中,允许引入系统中,允许引入 256256 种类型中断源(类型码为种类型中断源(类型码为 00 ~~ 252555 ),相应有),相应有 256256 个中断服务程序首址。存放中断地址的一段内存空个中断服务程序首址。存放中断地址的一段内存空间称中断向量表。间称中断向量表。

7.4

Page 18: 输入 / 输出和中断

7.4.27.4.2

●● 在在 8086/80888086/8088 系统中,通过执行中断指令或由系统中,通过执行中断指令或由 CPUCPU 本身启动的中断本身启动的中断称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件禁止,即不受中断允许标志禁止,即不受中断允许标志 IFIF 的影响。的影响。1.1. 内部中断的类型内部中断的类型

(( 11 ) ) 00 型中断——除法出错中断型中断——除法出错中断(( 22 ) ) 11 型中断——单步中断型中断——单步中断(( 33 ) ) 33 型中断——断点中断型中断——断点中断(( 44 ) ) 44 型中断——溢出中断型中断——溢出中断(( 55 ) ) INT nINT n 指令中断指令中断

内部中断——软中断内部中断——软中断

Page 19: 输入 / 输出和中断

●●8086/80888086/8088 中的各种中断的响应和处理过程是不相同的。主要中的各种中断的响应和处理过程是不相同的。主要区别在于如何获取相应的中断类型码。区别在于如何获取相应的中断类型码。

●●对于专用中断,中断类型码是自动形成的。对于专用中断,中断类型码是自动形成的。几种类型码为:类型几种类型码为:类型 00 、、 11 、、 33 、、 44

内部中断的处理过程内部中断的处理过程

●● 对于对于 INT nINT n 指令,其类型码为指令中给定的指令,其类型码为指令中给定的 nn 。。

22..

Page 20: 输入 / 输出和中断

1.1. 外部中断的响应及中断响应周期时序外部中断的响应及中断响应周期时序 ●● CPUCPU 采样到非屏蔽中断请求时,自动提供中断类型号采样到非屏蔽中断请求时,自动提供中断类型号 22 ,然后,然后根据中断类型号,查找中断向量表指针,其后的处理与内部中断根据中断类型号,查找中断向量表指针,其后的处理与内部中断一样。一样。

●● 8086/8088CPU8086/8088CPU 为外部设备提供了两条硬件中断信号线,为外部设备提供了两条硬件中断信号线,即即 NMINMI 和和 INTRINTR 中断请求信号。中断请求信号。

外部中断——硬中断外部中断——硬中断7.4.37.4.3

2.2. 外部中断处理过程外部中断处理过程●● 如果把如果把 CPUCPU 中断响应周期的动作和前面讲到的中断响应过程结合中断响应周期的动作和前面讲到的中断响应过程结合起来,当一个可屏蔽中断被响应时,起来,当一个可屏蔽中断被响应时, CPUCPU 实际执行了实际执行了 77 个总线周期。个总线周期。

Page 21: 输入 / 输出和中断

(( 11 ) 执行第一个) 执行第一个 INTAINTA 周期周期(( 22 ) 执行第二个) 执行第二个 INTAINTA 周期周期(( 33 ) 执行一个总线写周期) 执行一个总线写周期(( 44 ) 执行一个总线写周期) 执行一个总线写周期(( 55 ) 执行一个总线写周期) 执行一个总线写周期(( 66 ) 执行一个总线读周期) 执行一个总线读周期(( 77 ) 执行一个总线周期,从中断向量表中取出中断服务程) 执行一个总线周期,从中断向量表中取出中断服务程序入口地址的段值送序入口地址的段值送 CSCS 。对于非屏蔽与软中断跳过第。对于非屏蔽与软中断跳过第 (1)(1) 、、(2)(2) 步,从第步,从第 (3)(3) 步开始执行到第步开始执行到第 (7)(7) 步。步。

CPUCPU 实际执行了实际执行了 77 个总线周期个总线周期

Page 22: 输入 / 输出和中断

● ● 8086/80888086/8088 系统中,中断优先权排队次序从高到低为:系统中,中断优先权排队次序从高到低为:除 法出错、除 法出错、 INTnINTn 、、 INTOINTO 、、 NMINMI 、、 INTRINTR 、单步中断。除、单步中断。除单步之外的内部优先权最高,其次是非屏蔽中断,再次是可单步之外的内部优先权最高,其次是非屏蔽中断,再次是可屏蔽中断,而单步最低。屏蔽中断,而单步最低。

中断响应和处理流程如图中断响应和处理流程如图 7-107-10 所示。所示。

各类中断的优先权及中断响应各类中断的优先权及中断响应7.4.7.4.44

Page 23: 输入 / 输出和中断

8259A8259A 可编程中断控制可编程中断控制器器7.5.1 8259A7.5.1 8259A 的功能、结构及工作原理的功能、结构及工作原理

1.1.功能功能 ● ● Intel 8259A Intel 8259A 是与是与 80868086 系列系列 CPUCPU 兼容的可编程中断控制兼容的可编程中断控制器,它的主要功能为:器,它的主要功能为:

(( 11 ) 具有) 具有 88 级优先权控制,通过级连可扩展至级优先权控制,通过级连可扩展至 6464级优先权控制。级优先权控制。(( 22 ) 每一级中断都可以屏蔽或允许。) 每一级中断都可以屏蔽或允许。(( 33 ) 在中断响应周期,) 在中断响应周期, 8259A8259A 可提供相应的中断向量号(中断类型可提供相应的中断向量号(中断类型号)。号)。(( 44 ) ) 8259A8259A 的工作方式,可通过编程来进行选择。的工作方式,可通过编程来进行选择。

7.57.5

Page 24: 输入 / 输出和中断

(( 11 ) ) 8259A8259A 的内部结构的内部结构结构结构

中断请求寄存器中断请求寄存器 IRRIRR (( Interrupt Request RegisterInterrupt Request Register ))优先权电路优先权电路中断服务寄存器中断服务寄存器 ISRISR (( IN Service RegisterIN Service Register ))中断屏蔽寄存器中断屏蔽寄存器 IMRIMR (( Interrupt Mask RegisterInterrupt Mask Register ))数据总线缓冲器数据总线缓冲器读写电路读写电路控制逻辑和级连缓冲控制逻辑和级连缓冲 //比较器比较器 组成组成

它由它由

2.2.

Page 25: 输入 / 输出和中断

8259A8259A 是是 2828 个引脚的双列直插芯片,其引脚如图 个引脚的双列直插芯片,其引脚如图 7-127-12 所示。所示。●●D7D7 ~~ D0——D0—— 双向三态数据线,它可直接与数据总线连接。双向三态数据线,它可直接与数据总线连接。●●IR0IR0 ~~ IR7——IR7—— 中断请求输入线,其中中断请求输入线,其中 IRIR 0优先权最高,0优先权最高, IR7IR7 最最低。低。●●INT——INT—— 中断请求输出,接中断请求输出,接 CPUCPU 的中断请求线的中断请求线 INTRINTR 。。●●INTA—— INTA—— 中断响应输入,接受中断响应输入,接受 CPUCPU 发来的中断响应信号。发来的中断响应信号。

8259A8259A 的引线的引线(( 2 2 ))

Page 26: 输入 / 输出和中断

● ● WR——WR—— 写控制信号线,当为低电平时,写控制信号线,当为低电平时, CPUCPU 向向 8259A8259A 写入写入控制信号。控制信号。● ● RD——RD—— 读控制信号线,当为低时,可将读控制信号线,当为低时,可将 8259A8259A 内部寄存器的内部寄存器的信息读至数据总线。信息读至数据总线。● ● A0——A0—— 用以选择用以选择 8259A8259A 内部不同寄存器。通常与地址总线内部不同寄存器。通常与地址总线 A0A0相连接。相连接。● ● CAS0CAS0 ~~ CAS2CAS2 级连信号,对于主级连信号,对于主 8259A8259A ,它们是输出线,而,它们是输出线,而对于从对于从 8259A8259A ,它们是输入线。,它们是输入线。● ● SP/ENSP/EN 从程序从程序 // 缓冲器允许信号,是一个双功能信号。缓冲器允许信号,是一个双功能信号。

●● CS——CS—— 片选信号线,当该脚为低电平时,片选信号线,当该脚为低电平时, 8259A8259A 被选中。被选中。

●● 8259A8259A 的工作原理是通过其内部各处理部件的工作过程来体现的。的工作原理是通过其内部各处理部件的工作过程来体现的。3.3. 8259A8259A 的工作原理的工作原理

Page 27: 输入 / 输出和中断

●● 8259A8259A 的初始化命令字共的初始化命令字共 44 个(个( ICW1ICW1 ~~ ICW4ICW4 )。不是任何情)。不是任何情况下都需要设置况下都需要设置 44 个命令字,可根据个命令字,可根据 8259A8259A 的使用情况来选取,它的使用情况来选取,它们设置过程如图们设置过程如图 7.137.13 所示。所示。

工作方式编程工作方式编程

8259A8259A 的编的编程程7.5.27.5.2

8259A8259A 的编程分两部分:的编程分两部分:初始化编程初始化编程

1. 8259A1. 8259A 的初始化编程的初始化编程

Page 28: 输入 / 输出和中断

(( 11))写初始化命令字写初始化命令字 ICW1ICW1

(( 22 ) 写初始化命令字) 写初始化命令字 ICWICW22

其格式如图其格式如图 7-157-15 所示所示————中断类型控制字用来定义中断类型码的高中断类型控制字用来定义中断类型码的高 55位位

————芯片控制字芯片控制字

(( 33 ) 写初始化指令字) 写初始化指令字 ICWICW33

————主主 // 从片初始化从片初始化(( 44 ) 写初始化命令字) 写初始化命令字 ICWICW44

————方式控制字方式控制字

图图 7-16 ICW7-16 ICW33 的格式的格式

图图 7-17 ICW7-17 ICW4 4 的格式的格式

图图 7-14 ICW7-14 ICW11 的格式的格式

Page 29: 输入 / 输出和中断

图图 7-14 ICW17-14 ICW1 的格的格式式

AA77 AA66 AA55 11 LTIMLTIM ADIADI SNGLSNGL ICIC44

1 = 1 = 需要需要 ICWICW440 = 0 = 不需要不需要 ICICWW44

00

偶偶地地址址

AA0 0 D D77 D D66 D D5 5 D D4 4 D D3 3 D D22 D D1 1 D D00

ICWICW11识识别别位位 1 = 1 = 单片单片0 = 0 = 级连级连调用地址间隔调用地址间隔1 = 1 = 间隔为间隔为 44 80X8680X86 中不中不用用0 = 0 = 间隔为间隔为 881 = 1 = 电平触发电平触发0 = 0 = 边沿触发边沿触发中断向量地址中断向量地址的的 AA77~A~A55(只用于(只用于 MCS-MCS-80/8580/85 ))

Page 30: 输入 / 输出和中断

图图 7-15 ICW37-15 ICW3 的格式的格式

TT77 TT66 TT55 TT44 TT3311

奇奇地地址址中断类型中断类型 自动填入自动填入 IRIR0 0 000 000

IRIR1 1 001 001 .. .. ..IRIR77 111 111

AA00

Page 31: 输入 / 输出和中断

8259A8259A 的操作命令字的操作命令字(( 11 ) 操作命令字) 操作命令字 OCWOCW11——屏蔽操作命令字屏蔽操作命令字●● 该命令字用来设置或清除对中断的屏蔽称中断屏蔽命令字。该命令字用来设置或清除对中断的屏蔽称中断屏蔽命令字。格式如图格式如图 7-187-18 所示。所示。

●● 该命令字用来设置优先级循环和中断结束方式。该命令字用来设置优先级循环和中断结束方式。其格式如图其格式如图 7-197-19 所示。所示。

(( 22 ) 操作命令字) 操作命令字 OCWOCW22———— 中断方式命令字中断方式命令字

(( 33 )操作命令字)操作命令字 OCWOCW33———— 状态操作命令状态操作命令字字●● 该操作命令字功能有三方面:设置和撤销特殊屏蔽方式、设置该操作命令字功能有三方面:设置和撤销特殊屏蔽方式、设置中断查询方式、设置对中断查询方式、设置对 8259A8259A 内部寄存器的读出命令。内部寄存器的读出命令。OCW3OCW3 的具体格式如图的具体格式如图 7-207-20 所示。所示。

2.2.

Page 32: 输入 / 输出和中断

图图 7-18 OCW17-18 OCW1 的格的格式式

MM77 MM66 MM55 MM44 MM33 MM22 MM11 MM00

中断屏蔽中断屏蔽1 = 1 = 置屏蔽置屏蔽0 = 0 = 复位屏蔽复位屏蔽

11

奇奇地地址址

AA0 0 D D77 D D66 D D5 5 D D4 4 D D3 3 D D22 D D1 1 D D00

Page 33: 输入 / 输出和中断

8259A8259A 的工作方的工作方式式●● 8259A8259A 具有非常灵活的中断管理方式,可满足用户的各种不同的要求。具有非常灵活的中断管理方式,可满足用户的各种不同的要求。● ● 中断优先权的管理是中断管理的核心问题。中断优先权的管理是中断管理的核心问题。●● 8259A8259A 中对中断优先权的管理可概括为完全嵌套方式、自动循环方式、中对中断优先权的管理可概括为完全嵌套方式、自动循环方式、中断屏蔽方式及查询方式。中断屏蔽方式及查询方式。

11.中断嵌套方式.中断嵌套方式(( 22 ) 特殊全嵌套方式) 特殊全嵌套方式

7.5.37.5.3

(( 11 ) 全嵌套方式) 全嵌套方式

Page 34: 输入 / 输出和中断

中断优先级循环方式中断优先级循环方式8259A8259A 中有两种改变优先权的办法中有两种改变优先权的办法

(( 11 ) 自动循环方式) 自动循环方式 (( 22 ) 特殊循环方式) 特殊循环方式

3. 3. 中断屏蔽中断屏蔽

22..

(( 11 ) 普通屏蔽方式) 普通屏蔽方式 (( 22 ) 特殊屏蔽方式) 特殊屏蔽方式

4. 4. 程序查询方式程序查询方式

Page 35: 输入 / 输出和中断

中断结束命令中断结束命令根据不同的工作方式根据不同的工作方式 8259A8259A 可以有几种不同的结束方法可以有几种不同的结束方法

(( 11 ) 自动中断结束方式() 自动中断结束方式( AEOIAEOI ))(( 22 ) 非自动中断结束方式() 非自动中断结束方式( EOIEOI ))

(( 33 )特殊中断结束方)特殊中断结束方式式

5.5.

6. 6. 读读 8259A 8259A 的状态的状态

Page 36: 输入 / 输出和中断

8259A8259A 的编程实的编程实例例1.1.初始化编初始化编程程

7.5.57.5.5

对对 IBM PC/XTIBM PC/XT 机中使用的机中使用的 8259A8259A 初始化编初始化编程程例 例 7-17-1

2.2.应用实例应用实例((略略 ))见课本见课本

7.5.7.5.44

由多片由多片 8259A8259A组成的主从式中断系统组成的主从式中断系统

Page 37: 输入 / 输出和中断

8237DMA8237DMA 控制控制器器●● Intel 8237AIntel 8237A 是一种高功能的可编程的是一种高功能的可编程的 DMADMA 控制器,采用主控制器,采用主 5MHz5MHz的的 8237A8237A 传送速度可达到传送速度可达到 1.6Mb/s1.6Mb/s 。。

7.6.1 7.6.1 主要功能主要功能

7.67.6

(( 11 ) 在一个片子中有) 在一个片子中有 44 个独立的个独立的 DMADMA 通道,每个通道均可独立地传送数通道,每个通道均可独立地传送数据。据。(( 22 ) 每个通道的) 每个通道的 DMADMA 请求都可以分别允许和禁止。请求都可以分别允许和禁止。(( 33 ) 每个通道的) 每个通道的 DMADMA 请求有不同的优先权,优先权可以是固定的,也可请求有不同的优先权,优先权可以是固定的,也可以是旋转的。以是旋转的。(( 44 ) 每一个通道一次传送的最大长度可达) 每一个通道一次传送的最大长度可达 64K64K 字节。可以在存储器与外设字节。可以在存储器与外设间进行数据传送,也可以在存储器的两个区域之间进行传送。间进行数据传送,也可以在存储器的两个区域之间进行传送。

Page 38: 输入 / 输出和中断

主要功能主要功能

(( 66 )有一条结束处理的输入信号)有一条结束处理的输入信号 EOPEOP ,允许外界用此输入端,允许外界用此输入端来结束来结束 DMADMA 传送或重新初始化。传送或重新初始化。(( 77 )) 8237A8237A 可以级连,任意扩展通道。可以级连,任意扩展通道。

(( 55 ) ) 8237A8237A 的的 DMADMA 传送有以下四种方式:传送有以下四种方式:

①①单字节传送单字节传送 ②②数据块传送数据块传送

③③ 请求传送方式请求传送方式 ④④级连方式级连方式

Page 39: 输入 / 输出和中断

1. 8237A1. 8237A 的编程结构和引脚的编程结构和引脚8237A8237A 的结构和工作原理的结构和工作原理

(( 11 )) 8237A8237A 的编程结构的编程结构

7.6.27.6.2

(( 22 )) 8237A8237A 的引脚信号的引脚信号2. 8237A2. 8237A 的工作原理的工作原理

(( 11 )) 8237A8237A 的工作模式和模式寄存器的格式的工作模式和模式寄存器的格式(( 22 )控制寄存器的格式)控制寄存器的格式

(( 66 ) ) 8237A8237A 各寄存器对应的端口地各寄存器对应的端口地址址

(( 33 )状态寄存器的格式)状态寄存器的格式(( 44 ) 请求寄存器和屏蔽寄存器的格式) 请求寄存器和屏蔽寄存器的格式

(( 55 ) 复位命令和清除先) 复位命令和清除先 //后触发器命令后触发器命令

Page 40: 输入 / 输出和中断

图图 7-32 7-32 屏蔽寄存器的格式屏蔽寄存器的格式

DD77 DD66 DD55 DD44 DD33 DD22 DD11 DD00

不 用不 用屏蔽设置:屏蔽设置:

1 = 1 = 设屏蔽位设屏蔽位0 = 0 = 去除屏蔽位去除屏蔽位

通道选择通道选择00 = 00 = 通道通道 00

01 = 01 = 通道通道 11

10 = 10 = 通道通道 22

11 = 11 = 通道通道 33

Page 41: 输入 / 输出和中断

●● 为了学习为了学习 8237A8237A 的编程方法,下面我们以的编程方法,下面我们以 IBM IBM PC/XTPC/XT 系统中的系统中的 8237A8237A 的应用为例,说明的应用为例,说明 8237A8237A的编程方法。的编程方法。

8237A8237A 的编程和应用举的编程和应用举例例7.6.37.6.3

Page 42: 输入 / 输出和中断

小结小结11 7.1.1 7.1.1 数据信息数据信息

●● 在微型机中,数据大致为三种基本类型。在微型机中,数据大致为三种基本类型。7.1.2 7.1.2 状态信息状态信息●● 状态信息表示外设当前所处的工作状态。状态信息表示外设当前所处的工作状态。

7.1.3 7.1.3 控制信息控制信息●● 控制信息是由控制信息是由 CPUCPU 发出的,用于控制发出的,用于控制 I/OI/O 接口的工作方接口的工作方式以及外设的启动和停止等等。式以及外设的启动和停止等等。

7.1 7.1 外设接口的一般结构外设接口的一般结构

7.2.1 7.2.1 程序控制传递方式程序控制传递方式●● 程序控制的数据传送分为无条件传送、查询传送和中断传送。程序控制的数据传送分为无条件传送、查询传送和中断传送。

7.2 CPU7.2 CPU 与外设交换数据的方式与外设交换数据的方式7.2.2 DMA7.2.2 DMA (直接存储器存取)传递方式(直接存储器存取)传递方式

Page 43: 输入 / 输出和中断

小结小结22

●● 中断的概念中断的概念

7.3 7.3 中断中断7.3.1 7.3.1 概述概述

7.3.2 7.3.2 中断过程与中断管理中断过程与中断管理●● 中断过程中断过程●● 中断优先权中断优先权

7.4.1 7.4.1 中断结构中断结构●● 中断分类中断分类●● 中断向量表中断向量表

7.4.2 7.4.2 内部中断——软中断内部中断——软中断●● 内部中断的类型内部中断的类型●● 内部中断的处理过程内部中断的处理过程

7.4.3 7.4.3 外部中断——硬中断外部中断——硬中断●● 外部中断的响应及中断响应周外部中断的响应及中断响应周期时序外部中断处理过程期时序外部中断处理过程

7.5 8259A7.5 8259A 可编程中断控制器可编程中断控制器7.5.1 8259A7.5.1 8259A 的功能、结构及工作原理的功能、结构及工作原理

●● 功能功能●● 结构结构7.5.2 8259A7.5.2 8259A 的编程的编程

●●8259A8259A 的编程分两部分的编程分两部分7.5.3 8259A7.5.3 8259A 的工作方式的工作方式

●● 完全嵌套方式、自动循环方式、完全嵌套方式、自动循环方式、中断屏蔽方式及查询方式。中断屏蔽方式及查询方式。

7.4 8086/80887.4 8086/8088 的中断系统的中断系统

Page 44: 输入 / 输出和中断

小结小结33

7.5.4 7.5.4 由多片由多片 8259A8259A组成的主从式中断系统组成的主从式中断系统7.5.5 8259A7.5.5 8259A 的编程实例的编程实例

●●8237A8237A 的编程结构和引脚的编程结构和引脚●●8237A8237A 的工作原理的工作原理

7.6 8237DMA7.6 8237DMA 控制器控制器7.6.1 7.6.1 主要功能主要功能

●● 七项七项7.6.2 8237A7.6.2 8237A 的结构和工作原理的结构和工作原理

●● 初始化编初始化编程程●● 应用实例应用实例