第七章输入输出接口_第1页
第七章输入输出接口_第2页
第七章输入输出接口_第3页
第七章输入输出接口_第4页
第七章输入输出接口_第5页
已阅读5页,还剩171页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章第七章 输入输出接口输入输出接口 7.1 输入输出接口基础输入输出接口基础 7.2 中断系统中断系统 7.3 DMA传送和传送和DMA控制器控制器8237 7.4 主机板上的计时计数逻辑主机板上的计时计数逻辑7 输入输出(输入输出(I/OI/O)接口)接口运算器控制器存储器输出设备输出设备输入设备输入设备A.BUSD.BUSC.BUSCPUI/O设备设备7 输入输出(输入输出(I/OI/O)接口)接口基本概念基本概念I/O接口:接口:是介于是介于CPU和和I/O设备之间,把设备之间,把CPU和和I/O设备连接起设备连接起来,是来,是CPU和和I/O设备的桥梁。设备的桥梁。CPU和和I/O

2、设备通过设备通过I/O接口进行信息交换,从而协调接口进行信息交换,从而协调一致工作。一致工作。7 输入输出(输入输出(I/OI/O)接口)接口总总线线控制控制逻辑逻辑ROMRAM协处理器RT/COMS RAMI/O接接口口板板组组键盘磁盘驱动器网卡CRT显示器打印机微处理器微处理器MODEM鼠标主机板主机板系统总线微机系统硬件组成图7 输入输出(输入输出(I/OI/O)接口)接口在主机板上,与在主机板上,与I/O接口有关的逻辑包括:接口有关的逻辑包括: 1. 支持访问扩充板上存储器操作的逻辑支持访问扩充板上存储器操作的逻辑 2. 支持执行输入输出指令的逻辑支持执行输入输出指令的逻辑 3. 支持

3、外部中断方式的以支持外部中断方式的以8259为核心的中断控制逻辑为核心的中断控制逻辑 4.支持存储器直接读写支持存储器直接读写(DMA)操作的以操作的以8237为核心组成的为核心组成的DMA控制逻辑控制逻辑这些逻辑是这些逻辑是总线控制逻辑总线控制逻辑组成部分组成部分。7 输入输出(输入输出(I/OI/O)接口)接口CPUI/O设备设备总线控制逻辑总线控制逻辑I/O插槽插槽I/O接口I/O接口接口板组板组这些逻辑,一侧与这些逻辑,一侧与CPU相连,受相连,受CPU控制和管理,另一侧形控制和管理,另一侧形成系统总线接到扩充插槽的节点上,与成系统总线接到扩充插槽的节点上,与I/O接口板组接口板组相连

4、。相连。注:注:I/O接口在主机板上。接口在主机板上。I/O接口的几个基本问题:接口的几个基本问题:1. 数据输入输出的基本方式数据输入输出的基本方式2. I/O接口的结构接口的结构3. I/O指令要求的接口逻辑指令要求的接口逻辑基本概念基本概念:I/O端口端口:CPUI/O设备设备寄存器寄存器寄存器寄存器.CPUI/O设备设备CPUI/O设备设备I/O端口I/O端口I/O端口I/O端口.每一个每一个I/O端口端口都是一个都是一个8位寄存器,都有唯一的一个地址位寄存器,都有唯一的一个地址(I/O地址范围地址范围000003FF即即01023,这与内存物理地址相似,这与内存物理地址相似),CPU

5、通过通过I/O端口与端口与I/O外设进行通信。外设进行通信。CPU可以从可以从I/O端口读入数据端口读入数据(IN指令指令),也可以向,也可以向I/O端口输出数据端口输出数据(OUT 指令)。指令)。0000H0001H03FFH通信过程通信过程输入过程输入过程1.I/O外设把数据送到外设把数据送到I/O接口接口2.I/O接口通过接口通过端口端口把数据送把数据送进进CPU输出过程输出过程1.CPU把数据送到把数据送到I/O接口接口2.I/O外设从外设从I/O接口接口中的中的端口端口中取数据中取数据可见,可见,CPU和和I/O接口之间通信是通过接口之间通信是通过I/O端口端口进行的。进行的。CP

6、UI/O设备设备AX/ALI/O端口I/O端口I/O端口I/O端口.格式:格式:IN AL/AX , SRC功能:功能:CPU从指定端口读入数据,送到从指定端口读入数据,送到AL或或AX格式:格式:IN AL/AX , SRC ;不影响标志位;不影响标志位功能:功能:CPU从端口(从端口(寄存器寄存器)读入数据,送到)读入数据,送到AL或或AXSRC有有两种寻址方式两种寻址方式:1.直接寻址。直接寻址。SRC为端口地址,其范围为为端口地址,其范围为00HFFH(0255)如:如:IN AL, 28HIN AX, 0F0H(AL)(28H)(AX)(F1H:F0H )2. 间接寻址。当端口地址大

7、于间接寻址。当端口地址大于FFH,即,即255时候,要通过寄时候,要通过寄存器存器DX进行数据传递。进行数据传递。如:如:MOV DX, 100H ;100H=256255IN AX, DX(AX)(101H:100H )CPUI/O设备设备AX/ALI/O端口I/O端口I/O端口I/O端口.格式:格式:OUT DST , AL/AX功能:功能:CPU 把把AL或或AX中的中的数据送到指定端口数据送到指定端口格式:格式:OUT DST , AL/AX ;不影响标志位;不影响标志位功能:功能:CPU从从AL或或AX输出数据,送到端口(即输出数据,送到端口(即寄存器寄存器里)里)DST有两种寻址方

8、式:有两种寻址方式:1.直接寻址。直接寻址。DST为端口地址,其范围为为端口地址,其范围为00HFFH(0255)如:如:OUT 28H , ALOUT F0H , AX(28H) (AL) (F1H:F0H ) (AX) 2. 间接寻址。当端口地址大于间接寻址。当端口地址大于FFH,即,即255时候,要通过寄时候,要通过寄存器存器DX进行数据传递。进行数据传递。如:如:MOV DX, 03FDH ;3FDH=1021255OUT DX , AX (3FEH:3FDH ) (AX) 输入输出同步问题输入输出同步问题1.CPU与外设之间,如何向对方提供联络信息,并以什么方与外设之间,如何向对方提

9、供联络信息,并以什么方式响应和处理对方提供的联络信息。式响应和处理对方提供的联络信息。2.当多个外设同时要求与当多个外设同时要求与CPU交换信息时,以什么策略解决交换信息时,以什么策略解决多个外设传输请求。多个外设传输请求。7.1.1 数据输入输出基本方式数据输入输出基本方式CPU与与I/O设备之间传输信息的三种基本方式:设备之间传输信息的三种基本方式:程序直接控制传送方式(程序直接控制传送方式(查询方式查询方式)程序中断控制传送方式(程序中断控制传送方式(中断方式中断方式)存储器直接存取方式存储器直接存取方式 (DMA方式方式)CPUI/O设备设备 可实现可实现CPU与与I/O设备之间数据信

10、息、状态信息和命设备之间数据信息、状态信息和命令信息的传输。令信息的传输。程序直接控制传送方式(查询方式)程序直接控制传送方式(查询方式) 查询方式查询方式 查询方式是查询方式是CPU在向在向输入或输出数据时,主动去检输入或输出数据时,主动去检查查I/O外设是否外设是否“准备好准备好”,只有当确认,只有当确认I/O外设已具备传外设已具备传输条件后,才进行数据交换。输条件后,才进行数据交换。输入状态信息准备好了?输入数据查询输入方式流程图查询输入方式流程图NY状态状态端口地址:端口地址:STATUSPORT数据数据端口地址:端口地址:DATAPORT状态口的状态口的D7位位为接口为接口 “准备好

11、准备好” 位位AGAIN:IN AL,STATUSPORT AND AL, 80H JZ AGAIN IN AL, DATAPORT程序直接控制传送方式(查询方式)程序直接控制传送方式(查询方式) 查询方式查询方式 显然,在查询方式下,显然,在查询方式下,CPU需要花费许多时间来查询外需要花费许多时间来查询外设的状态,并等外设进行数据传输的准备。设的状态,并等外设进行数据传输的准备。 优点优点:不需要增加额外的硬件电路,易于实现。:不需要增加额外的硬件电路,易于实现。 缺点:缺点:CPU工作效率很低工作效率很低程序中断控制方式(中断方式)程序中断控制方式(中断方式)程序中断程序中断:指主机在运

12、行程序时,出现了:指主机在运行程序时,出现了特殊情况特殊情况,暂时停,暂时停止执行正在运行的程序,转到另一段处理特殊情况的程序止执行正在运行的程序,转到另一段处理特殊情况的程序(中断处理子程序),等特殊情况处理程序执行完后,返回(中断处理子程序),等特殊情况处理程序执行完后,返回到被暂时停止的程序接着运行。到被暂时停止的程序接着运行。内部中断(内部中断(软件中断软件中断)外部中断(外部中断(硬件中断硬件中断)特殊情况就是特殊情况就是中断中断。中断中断中中断断处处理理子子程程序序中断请求中断请求主机主机运行运行程序程序类似于主程序调用子程序类似于主程序调用子程序程序中断控制方式(中断方式)程序中

13、断控制方式(中断方式) 程序中断控制方式程序中断控制方式: 借助于借助于CPU响应响应外中断外中断的能力,实现输入输出的的能力,实现输入输出的控制控制。 当外设需要向当外设需要向CPU传输数据或者从传输数据或者从CPU接收数据时候,首先向接收数据时候,首先向CPU产生产生一个中断请求,然后一个中断请求,然后CPU相应此请求,从而执行中断处理子程序,进行数据相应此请求,从而执行中断处理子程序,进行数据的传输。的传输。 当然,数据的传输仍然是靠当然,数据的传输仍然是靠IN或者或者OUT指令来完成的。指令来完成的。程序中断控制方式(中断方式)程序中断控制方式(中断方式) 程序中断控制方式特点程序中断

14、控制方式特点: 1. 虽然程序中断功能参与了控制,但数据的传输仍然要靠虽然程序中断功能参与了控制,但数据的传输仍然要靠IN或者或者OUT指指令来完成。令来完成。 2. 外设要求与外设要求与 CPU传输数据的状态信息,不是用指令传输数据的状态信息,不是用指令输入和测试输入和测试的,的,而是从而是从CPU的中断请求输入端直接加入的。的中断请求输入端直接加入的。中断控制输入输出是靠硬件和软件相配合来实现的。不需要进行查询,避免中断控制输入输出是靠硬件和软件相配合来实现的。不需要进行查询,避免了用指令查询外设状态造成的大量时间浪费提高了了用指令查询外设状态造成的大量时间浪费提高了CPU的时间利用率。的

15、时间利用率。需要有专门的接口逻辑电路需要有专门的接口逻辑电路中断控制器中断控制器。程序中断控制方式(中断方式)程序中断控制方式(中断方式) 程序中断控制方式程序中断控制方式:在外设没有准备好时候,在外设没有准备好时候,CPU可以运行与数据传输无关的其他指令。外设准可以运行与数据传输无关的其他指令。外设准备好后,主动向备好后,主动向CPU请求中断,请求中断, CPU响应这一请求,暂停正在运行的程序响应这一请求,暂停正在运行的程序而运行与外设进行数据传输的中断处理程序。而运行与外设进行数据传输的中断处理程序。由此可见,中断方式是由此可见,中断方式是CPU和外设进行和外设进行I/O传输的有效方式,它

16、可以传输的有效方式,它可以避免因避免因反复查询外设的状态而浪费时间反复查询外设的状态而浪费时间,提高了,提高了CPU的工作效率。的工作效率。存储器直接存取方式(存储器直接存取方式(DMA方式)方式) DMA: 在在外设外设和和存储器存储器(内存内存)之间开辟直接的数据传输通道,数据传输不之间开辟直接的数据传输通道,数据传输不靠执行靠执行I/O指令,数据不经过指令,数据不经过CPU的任何寄存器,不破坏任何寄存器原有内容,的任何寄存器,不破坏任何寄存器原有内容,在存储器与外设之间的通路上直接传输数据。在存储器与外设之间的通路上直接传输数据。 这种这种I/O方式的实现主要靠硬件的功能。方式的实现主要

17、靠硬件的功能。 在数据传输时没有程序和指令的介入,但在数据传输前的准备工作,在数据传输时没有程序和指令的介入,但在数据传输前的准备工作,如传输涉及的存储区的开始地址、要传输的字节数等参数,还是要用程如传输涉及的存储区的开始地址、要传输的字节数等参数,还是要用程序指令来实现的。适合大批量的数据传输。序指令来实现的。适合大批量的数据传输。存储器存储器I/O接口接口I/O外设外设总线总线控制逻辑控制逻辑DMA控制器控制器CPU系系统统总总线线7.1.2 输入输出接口的基本结构输入输出接口的基本结构I/O接口包含硬件接口包含硬件(1) 主机板上的接口逻辑;主机板上的接口逻辑;(2) 系统总线;系统总线

18、;(3) 具体外设的接口逻辑。具体外设的接口逻辑。总线总线控制控制逻辑逻辑ROMRAM协处理器RT/COMS RAMI/O接接口口板板组组键盘磁盘驱动器网卡CRT显示器打印机微处理器微处理器MODEM鼠标主机板主机板系统总线7.1.2 输入输出接口的基本结构输入输出接口的基本结构2. IBM PC系统提供的接口资源系统提供的接口资源 IBM PC/XT及其兼容机的基本配置包括:主机箱、键盘、及其兼容机的基本配置包括:主机箱、键盘、CRT显示器、打印机和软、硬盘机。显示器、打印机和软、硬盘机。 IBM PC系统为系统为I/O接口提供的资源:接口提供的资源:1. 硬件接口资源硬件接口资源2. 软件

19、接口资源软件接口资源7.1.2 输入输出接口的基本结构输入输出接口的基本结构IBM PC系统为系统为I/O接口提供的接口提供的硬件资源硬件资源: (1) 在扩充插槽上提供了系统级总线;在扩充插槽上提供了系统级总线; (2) 主机板上有键盘接口逻辑和扬声器接口逻辑;主机板上有键盘接口逻辑和扬声器接口逻辑; (3) 主机板上有以两片主机板上有以两片8259为核心组成的中断控制逻辑;为核心组成的中断控制逻辑; (4) 主机板上以两片主机板上以两片8237DMA控制器为核心组成的控制器为核心组成的DMA传传送控制逻辑;送控制逻辑; (5) 一片一片8254定时定时/计数器芯片;计数器芯片; (6) 基

20、本配置的基本配置的I/O接口卡:显示器接口;两个并行口;两接口卡:显示器接口;两个并行口;两个个RS232串行口;磁盘驱动器接口。串行口;磁盘驱动器接口。7.1.2 输入输出接口的基本结构输入输出接口的基本结构IBM PC系统为系统为I/O接口提供的接口提供的软件资源软件资源: 1. DOS功能调用功能调用2. BIOS功能调用功能调用7.1.2 输入输出接口的基本结构输入输出接口的基本结构几种常用的系统总线:几种常用的系统总线:1. 最早的是最早的是IBM PC/XT系统总线。系统总线。2. ISA(industrial standard architecture)总线标准是)总线标准是IB

21、M 公司公司1984年年为推出为推出PC/AT机而建立的系统总线标准,所以也叫机而建立的系统总线标准,所以也叫AT总线。总线。3. EISA总线是总线是1988年由年由Compaq等等9家公司联合推出的总线标准。它是家公司联合推出的总线标准。它是在在ISA总线的基础上使用双层插座,在原来总线的基础上使用双层插座,在原来ISA总线的总线的98条信号线上又增加了条信号线上又增加了98条信号线,也就是在两条条信号线,也就是在两条ISA信号线之间添加一条信号线之间添加一条EISA信号线。信号线。4. VESA(video electronics standard association)总线是)总线是

22、 1992年由年由60家附件卡制造商联合推出的一种局部总线,简称为家附件卡制造商联合推出的一种局部总线,简称为VL(VESA local bus)总线。总线。 7.1.2 输入输出接口的基本结构输入输出接口的基本结构几种常用的系统总线:几种常用的系统总线:5. PCI(peripheral component interconnect)总线是)总线是当前最流行的当前最流行的总线之一总线之一,它是由,它是由Intel公司推出的一种局部总线。它定义了公司推出的一种局部总线。它定义了32位数据总线,位数据总线,且可扩展为且可扩展为64位。位。PCI总线主板插槽的体积比原总线主板插槽的体积比原ISA总

23、线插槽还小,其功能总线插槽还小,其功能比比VESA、ISA有极大的改善,支持突发读写操作,最大传输速率可达有极大的改善,支持突发读写操作,最大传输速率可达132MB/s,可同时支持多组外围设备。,可同时支持多组外围设备。 PCI局部总线不能兼容现有的局部总线不能兼容现有的ISA、EISA、MCA(micro channel architecture)总线,但它不受制于处理器,是)总线,但它不受制于处理器,是基于奔腾等新一代微处理器而发展的总线。基于奔腾等新一代微处理器而发展的总线。 6. Compact PCI的意思是的意思是“坚实的坚实的PCI”,是当今第一个采用无源总,是当今第一个采用无源

24、总线底板结构的线底板结构的PCI系统,是系统,是PCI总线的电气和软件标准加欧式卡的工业组装总线的电气和软件标准加欧式卡的工业组装标准,标准,是当今最新的一种工业计算机标准是当今最新的一种工业计算机标准。 7.1.5 IBM PC/AT机的机的I/O端口地址分配端口地址分配 I/O端口(类似于内存单元)是存在于端口(类似于内存单元)是存在于I/O接口中的接口中的8位位的数的数据据寄存器寄存器。每一个。每一个I/O端口都有一个唯一的端口都有一个唯一的I/O端口地址。端口地址。 I/O端口与内存单元的编址可有两种方式:端口与内存单元的编址可有两种方式:1. 统一编址统一编址2. 单独编址(常用此种

25、)单独编址(常用此种) 单独编址:单独编址:1. 内存单元的编址:内存单元的编址:00000HFFFFFH2. I/O端口编址:端口编址:0000H03FFH(01023)7.1.5 IBM PC/AT机的机的I/O端口地址分配端口地址分配用户可使用的用户可使用的I/O地址有地址有:1. 100H1EFH2. 220H26FH3. 280H2AFH4. 300H35FH PC/AT系统系统I/O端口地址分配:端口地址分配:P349,表表7.2主讲内容:主讲内容:1. 中断功能中断功能2. 外部中断和外部中断和8259中断控制器中断控制器3. 应用中断功能应用中断功能中断功能中断功能-主讲内容:

26、主讲内容:1. 中断种类和中断类型号中断种类和中断类型号2. 中断向量表中断向量表3. 实模式下中断响应和返回操作过程实模式下中断响应和返回操作过程 7.2.1 微处理器的中断功能微处理器的中断功能中断:中断:指指CPU暂停正在执行的程序,转去执行处理中断事件暂停正在执行的程序,转去执行处理中断事件的中断服务程序,待执行完中断服务程序再返回到原的中断服务程序,待执行完中断服务程序再返回到原来被中断的程序继续执行。来被中断的程序继续执行。中断源:中断源:引起中断的事件引起中断的事件 7.2.1 微处理器的中断功能微处理器的中断功能1. 中断的种类和中断类型号中断的种类和中断类型号(1)外部硬中断

27、外部硬中断 微处理器外部事件发生,产生中断请求信号,中断微处理器外部事件发生,产生中断请求信号,中断请求信号再通过微处理器芯片上的接受中断请求信号的请求信号再通过微处理器芯片上的接受中断请求信号的引脚加入微处理器而出现的中断。引脚加入微处理器而出现的中断。 7.2.1 微处理器的中断功能微处理器的中断功能CPUINTRNMI不可屏蔽中断不可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断可屏蔽中断(INTR): CPU中标志寄存器中的中标志寄存器中的IF位对该中断有控制作用。位对该中断有控制作用。1. IF=1,CPU将将响应响应可屏蔽中断的中断请求。可屏蔽中断的中断请求。 (STI)2. IF=0,C

28、PU将将不响应不响应可屏蔽中断的中断请求。可屏蔽中断的中断请求。(CLI) 7.2.1 微处理器的中断功能微处理器的中断功能 可屏蔽中断(可屏蔽中断( INTR )通常用于:)通常用于:1.常规外部设备常规外部设备-键盘、打印机、磁盘、串口等键盘、打印机、磁盘、串口等2.的接口设备或专用接口。的接口设备或专用接口。 本节主要讨论的本节主要讨论的可屏蔽中断可屏蔽中断(INTR)操作及应用。操作及应用。不可屏蔽中断不可屏蔽中断(NMI): CPU中标志寄存器中的中标志寄存器中的IF位对该中断没有控制作用,位对该中断没有控制作用,CPU对对不可屏蔽中断不可屏蔽中断请求的响应是无条件的,一旦请求的响应

29、是无条件的,一旦CPU查询到查询到NMI有请求,就立即响应。有请求,就立即响应。 7.2.1 微处理器的中断功能微处理器的中断功能 NMI在外部中断源中的优先级是最高的,在外部中断源中的优先级是最高的,通常通常用于处理系统故障用于处理系统故障:主机板上主机板上RAM奇偶校验错奇偶校验错扩展槽中扩展槽中I/O通道错通道错电源故障等。电源故障等。内部中断:内部中断:可分为软中断和异常中断两类。可分为软中断和异常中断两类。软中断:软中断: 是中断指令是中断指令INT执行时所产生的中断。软中断和其它中执行时所产生的中断。软中断和其它中断一样,发生软中断时,将转去执行中断服务子程序。断一样,发生软中断时

30、,将转去执行中断服务子程序。 不过,这样的子程序不是用户自己编写的子程序,而是不过,这样的子程序不是用户自己编写的子程序,而是由由系统软件系统软件(主要是操作系统)(主要是操作系统)提供的子程序提供的子程序。 INT指令实际上就是在编写汇编语言程序时,用软中断指令实际上就是在编写汇编语言程序时,用软中断来实现用户程序调用系统提供的子程序。来实现用户程序调用系统提供的子程序。 7.2.1 微处理器的中断功能微处理器的中断功能异常中断:可分为异常中断:可分为0、1、3、4号中断。号中断。0号中断:号中断:-被除零中断被除零中断当当CPU执行除运算时,若出现除数为执行除运算时,若出现除数为0,则,则

31、0号中断。号中断。 7.2.1 微处理器的中断功能微处理器的中断功能1号中断:号中断: -单步中断单步中断CUP执行一条指令前,若检测到执行一条指令前,若检测到PSW的的TF=1,则在该指令执行,则在该指令执行之后立即停止,引起之后立即停止,引起1号中断,该中断支持程序但不跟踪的功能。号中断,该中断支持程序但不跟踪的功能。异常中断:可分为异常中断:可分为0、1、3、4号中断。号中断。 7.2.1 微处理器的中断功能微处理器的中断功能3号中断:号中断:-断点中断断点中断该中断主要该中断主要供调试程序供调试程序使用。通常调试程序时,把程序按需分使用。通常调试程序时,把程序按需分成若干段,每段设置一

32、个断点。当成若干段,每段设置一个断点。当CPU执行到断点时产生中断,供程序执行到断点时产生中断,供程序员检查各寄存器及有关存储单元的内容。员检查各寄存器及有关存储单元的内容。4号中断:号中断:-益处中断益处中断在执行单字节指令在执行单字节指令INT O时,如果时,如果CPU检测到溢出标志位,则检测到溢出标志位,则产生号中断,进行溢出处理。产生号中断,进行溢出处理。 OF时,不产生中断。时,不产生中断。在微处理器中,不同的中断是以在微处理器中,不同的中断是以中断类型号中断类型号来区别的。来区别的。 每每种中断都有固定的中断类型号。种中断都有固定的中断类型号。 7.2.1 中断类型号中断类型号中断

33、类型号中断类型号:对中断的类型进行编号。对中断的类型进行编号。中断类型号的中断类型号的范围范围为为0255(00HFFH),即最多有),即最多有256个。个。 7.2.1 中断类型号中断类型号中断中断外部硬中断外部硬中断内部中断内部中断可屏蔽中断可屏蔽中断不可屏蔽中断不可屏蔽中断异常中断异常中断软中断软中断提供中断类型号提供中断类型号:外部中断控制逻辑提供外部中断控制逻辑提供中断类型号:中断类型号:2由指令本身提供由指令本身提供 7.2.1 中断类型号中断类型号中断类型号的作用:中断类型号的作用:在中断发生时,借助中断类型号,能使程序转入相对应的中在中断发生时,借助中断类型号,能使程序转入相对

34、应的中断服务子程序。断服务子程序。 7.2.1 微处理器的中断功能微处理器的中断功能2. 中断向量表中断向量表 7.2.1 微处理器的中断功能微处理器的中断功能 每种中断都有自己相每种中断都有自己相应的应的中断服务子程序中断服务子程序。CPU响应任何中断,响应任何中断,就要进入相应的中断就要进入相应的中断服务子程序中,执行服务子程序中,执行子程序的程序,子程序的程序,来处来处理中断理中断。中中断断处处理理子子程程序序中断请求中断请求主机主机运行运行程序程序2. 中断向量表中断向量表 7.2.1 微处理器的中断功能微处理器的中断功能当响应中断后,系统怎样进入中断服务子程序?当响应中断后,系统怎样

35、进入中断服务子程序? 获取中断服务子程序的获取中断服务子程序的入口地址入口地址。(即首地址。(即首地址段地址段地址和和偏移地址偏移地址) 如何获取入口地址?如何获取入口地址? 1. 中断类型号中断类型号2. 中断向量表(实模式下)中断向量表(实模式下) 7.2.1 微处理器的中断功能微处理器的中断功能 什么是实模式?什么是实模式? CPU的工作模式有三种:的工作模式有三种:1. 实地址模式(实模式)实地址模式(实模式)2. 保护模式保护模式3. 虚地址模式虚地址模式任何情况下,任何情况下,CPU每次加电或复位后,都从实模式开始工作。每次加电或复位后,都从实模式开始工作。实模式:是最基本的工作模

36、式,实模式:是最基本的工作模式,8086/8688只能工作于实模式。只能工作于实模式。实模式:实模式: 只允许只允许CPU寻址空间是内存的第一个寻址空间是内存的第一个1MB存储空间。存储空间。 7.2.1中断向量表中断向量表 中断向量中断向量: 即中断服务子程序的即中断服务子程序的入口地址入口地址,包括段地址(,包括段地址(置入置入CS)和偏移地址(和偏移地址(置入置入IP)。)。低字节低字节高字节高字节低字节低字节高字节高字节低字,送入低字,送入IP高字,送入高字,送入CS假如:某个中断服务子程序的入口地址假如:某个中断服务子程序的入口地址-2856:0255H55H02H56H28H偏移地

37、址偏移地址段地址段地址注:每种中断都有入口地址,所以注:每种中断都有入口地址,所以每种中断每种中断都有一个都有一个中断向量中断向量。 7.2.1 微处理器的中断功能微处理器的中断功能 中断向量表中断向量表: 由由中断向量中断向量按照中断类型号的顺序组成的表,就是中断按照中断类型号的顺序组成的表,就是中断类型表。类型表。在实模式下,存储器地址最低的在实模式下,存储器地址最低的1024单元,即地址单元,即地址0000H03FFH,用于存储各种中断服务的,用于存储各种中断服务的入口地址入口地址。 从从0000H开始,每开始,每4个内存单元存放一个中断服务子程序的入个内存单元存放一个中断服务子程序的入

38、口地址(中断向量)。前两个内存单元的口地址(中断向量)。前两个内存单元的16位是位是段内偏移地段内偏移地址址,后两个内存单元的,后两个内存单元的16位是位是段地址段地址。当要执行中断服务子程序时候,偏移地址送入当要执行中断服务子程序时候,偏移地址送入IP中,段地址中,段地址送入送入CS中。中。 7.2.1 微处理器的中断功能微处理器的中断功能中断类型号是中断向量表的中断类型号是中断向量表的索引索引中断类型号中断类型号*4-该中断的该中断的中断向量中断向量在在中断向量表中断向量表中的中的开始位置开始位置。中断类型号与中断向量表的关系中断类型号与中断向量表的关系例如:例如:中断类型号为中断类型号为

39、1,则其中断向量在中断向量表中的则其中断向量在中断向量表中的开始位置开始位置:0004H其中断向量在中断向量表中的其中断向量在中断向量表中的位置位置:0004H0007H 7.2.1 微处理器的中断功能微处理器的中断功能中断类型号与中断向量表的关系中断类型号与中断向量表的关系例如:例如:中断类型号为中断类型号为1,则其中断向量在中则其中断向量在中断向量表中的断向量表中的开始开始位置:位置:00004H其中断向量在中断其中断向量在中断向量表中的向量表中的位置位置:00004H00007H55H02H56H28H偏移地址偏移地址段地址段地址存储器存储器00004H00005H00006H00007

40、H物理地址物理地址单步中断在中断向量表中的位置单步中断在中断向量表中的位置注注2856:0255H是单步中断的中断向量是单步中断的中断向量2. 中断向量表中断向量表 7.2.1 微处理器的中断功能微处理器的中断功能 7.2.1 微处理器的中断功能微处理器的中断功能中断向量在中断向量表中的中断向量在中断向量表中的位置位置是是不能改变不能改变的。的。在中断向量表中,第一个中断向量,肯定是类型号为在中断向量表中,第一个中断向量,肯定是类型号为0的中断,第二个中断的中断,第二个中断向量,肯定是类型号为向量,肯定是类型号为1的中断。的中断。中断向量的中断向量的值值是是可以改变可以改变的。的。假如:类型号

41、为假如:类型号为1个中断服务子程序的入口地址个中断服务子程序的入口地址-2856:0255H,如果修改了其中的服务子程序的入口地址为如果修改了其中的服务子程序的入口地址为-2200:1244H,则需要重新装入新的入口地址。则需要重新装入新的入口地址。55H02H56H28H送入送入IP送入送入CS00004H00005H00006H00007H44H12H00H22H送入送入IP送入送入CS00004H00005H00006H00007H 从引起中断到中断结束,共有三个过程:从引起中断到中断结束,共有三个过程:1. 中断响应过程中断响应过程2. 中断处理过程中断处理过程3. 中断返回过程中断返

42、回过程 7.2.1 实模式下的中断响应实模式下的中断响应3. 实模式下的中断响应实模式下的中断响应中断响应过程中断响应过程:从提出中断请求到:从提出中断请求到CPU进入中断服务子程序为进入中断服务子程序为止,所经过的过程成为中断响应过程。止,所经过的过程成为中断响应过程。其对可屏蔽中断,不可屏蔽中断和内部中断是不尽相同的。其对可屏蔽中断,不可屏蔽中断和内部中断是不尽相同的。 7.2.1 微处理器的中断功能微处理器的中断功能在在IF位为位为1(即开中断即开中断)情况下,从情况下,从INTR端加入中断请求信号开始,端加入中断请求信号开始,到进入中断服务程序为止所经过的一系列操作,称为可屏蔽中到进入

43、中断服务程序为止所经过的一系列操作,称为可屏蔽中断的响应过程。断的响应过程。一 可屏蔽中断的响应操作可屏蔽中断的响应操作从从CPUCPU中止现行程中止现行程序转中断服务程序转中断服务程序这一过程序这一过程, ,用两用两个总线周期个总线周期。 第一个响应周期:第一个响应周期:使使AD15-AD0AD15-AD0、/S7/S7、A19/S6-A16/S3A19/S6-A16/S3悬悬空。空。第二个响应周期:第二个响应周期:外设向数据总线外设向数据总线上输送一个字节上输送一个字节的中断类型号。的中断类型号。中断响应周期中断响应周期中断响应周期 7.2.1 微处理器的中断功能微处理器的中断功能可屏蔽中

44、断的响应过程:可屏蔽中断的响应过程: 等待当前指令(等待当前指令(CPU正执行的其它指令)结束,然后进入中断响应周期。正执行的其它指令)结束,然后进入中断响应周期。 从微处理器外部的中断控制逻辑获得从微处理器外部的中断控制逻辑获得中断类型号中断类型号。 当前的当前的PSW、CS和和IP的内容依次压入堆栈。(保护断点的的内容依次压入堆栈。(保护断点的地址地址和和状态状态) 清除清除PSW中的中的IF位和位和TF位为位为0。 把中断服务程序的入口地址置入把中断服务程序的入口地址置入IP和和CS。把地址为把地址为4*n和和4*n+1两个单元两个单元的的16位作为中断服务子程序入口地址的位作为中断服务

45、子程序入口地址的偏移地址偏移地址送入送入IP中,把中,把4*n+2和和4*n+3的两个作为中断服务子程序入口地址的的两个作为中断服务子程序入口地址的段地址段地址送入送入CS中。中。中断向量假如可屏蔽中断的中断类型号为:,那么,那么把1244H送入IP中,把2200H送入CS中。44H12H00H22H送入送入IP送入送入CS0EH*40EH*4+10EH*4+20EH*4+3二、二、 不可屏蔽中断的响应过程不可屏蔽中断的响应过程 不可屏蔽的中断请求在不可屏蔽的中断请求在CPU中的中的NMI引脚加入。引脚加入。 CPU对它的响应不受对它的响应不受IF位的控制位的控制(但可以在外部逻辑中对但可以在

46、外部逻辑中对加加入入NMI端的信号进行控制端的信号进行控制)。 7.2.1 微处理器的中断功能微处理器的中断功能不可屏蔽中断的响应过程为:不可屏蔽中断的响应过程为: 1. 等待当前指令结束,然后进入中断响应周期。等待当前指令结束,然后进入中断响应周期。 2. 将当前的将当前的PSW、CS和和IP的内容依次压入堆栈的内容依次压入堆栈 3. 清除清除PSW中的中的IF位和位和TF位为位为0。 4. 把中断服务程序的入口地址置入把中断服务程序的入口地址置入IP和和CS。把地址为把地址为4*2和和4*2+1两个单两个单元的元的16位作为中断服务子程序入口地址的位作为中断服务子程序入口地址的偏移地址偏移

47、地址送入送入IP中,把中,把4*2+2和和4*2+3的两个作为中断服务子程序入口地址的的两个作为中断服务子程序入口地址的段地址段地址送入送入CS中。中。 7.2.1 微处理器的中断功能微处理器的中断功能三、三、 内部中断的响应操作内部中断的响应操作所有的内部中断都有以下共同特点:所有的内部中断都有以下共同特点:INTA 中断类型号要么是指令码给定的,要么是处理硬件决定的,都不需中断类型号要么是指令码给定的,要么是处理硬件决定的,都不需要从外部逻辑输入。要从外部逻辑输入。 没有包括没有包括 信号的响应周期。信号的响应周期。 不受不受IF位的控制,位的控制, 但单步中断受但单步中断受TF位控制。位

48、控制。中断优先级中断优先级:除数为:除数为0中断,中断,INT n和和INT O指令的优先级最高,指令的优先级最高,NMI 次之,次之,INTR再次,单步中断优先级最低。再次,单步中断优先级最低。 除单步中断之外,其它内部中断都比外部中断优先响应。除单步中断之外,其它内部中断都比外部中断优先响应。 7.2.1 微处理器的中断功能微处理器的中断功能三、三、 内部中断的响应操作内部中断的响应操作1. 将将当前的当前的PSW、CS和和IP的内容依次压入堆栈。(保护断点的的内容依次压入堆栈。(保护断点的地址地址和和状态状态)2. 清除清除PSW中的中的IF位和位和TF位为位为0。3. 把中断服务程序的

49、入口地址置入把中断服务程序的入口地址置入IP和和CS。把地址为把地址为4*n和和4*n+1两个单元两个单元的的16位作为中断服务子程序入口地址的位作为中断服务子程序入口地址的偏移地址偏移地址送入送入IP中,把中,把4*n+2和和4*n+3的两个作为中断服务子程序入口地址的的两个作为中断服务子程序入口地址的段地址段地址送入送入CS中。中。思考可屏蔽中断与非可屏蔽中断的响应过程有什么不同?可屏蔽中断与内部中断的响应过程有什么不同?非可屏蔽中断省去第2步内部中断省去第1、2步清除位当TF时,每执行完一条指令时引起一次单步中断,在中断服务子程序中显示各寄存器的内容和状态字信息。如果不清除位,当进入中断

50、服务子程序时,将不断的引起中断,每次中断都执行同一条指令而不能返回。只有清除TF位才能避免这种现象的发生。在中断服务子程序期间,为0,到IRET指令恢复PSW值时候,才恢复位。 7.2.1 微处理器的中断功能微处理器的中断功能中断返回中断返回 无论内部中断还是外部中断,都是由中断服务子程序无论内部中断还是外部中断,都是由中断服务子程序的末尾设置的末尾设置IRET指令实现的。指令实现的。IRET指令的操作时恢复断指令的操作时恢复断点处的地址和点处的地址和PSW的内容,即依次从堆栈弹出保存的的内容,即依次从堆栈弹出保存的IP、CS和和PSW值,使被中断了的程序继续执行值,使被中断了的程序继续执行

51、7.2.2 外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A外部输入输出设备利用中断机制与外部输入输出设备利用中断机制与CPU交换信息,实际上交换信息,实际上就是利用外部可屏蔽中断。就是利用外部可屏蔽中断。对对CPU来说,与可屏蔽中断有关的两个引脚是来说,与可屏蔽中断有关的两个引脚是INTR和和INTA。INTR-中断请求信号引脚中断请求信号引脚INTA-中断响应信号引脚中断响应信号引脚CPU外设外设I/O接口接口INTRINTA 7.2.2 外中断控制逻辑和外中断控制逻辑和8529A的关系的关系80286以及以后的微机系统中,用以及以后的微机系统中,用两片两片8259A组成

52、了可屏蔽组成了可屏蔽中断的中断控制逻辑。中断的中断控制逻辑。I/O接口板组接口板组I/O外设外设总线总线控制逻辑控制逻辑CPUI/O接口接口在主机板上,总线控制逻辑包括:在主机板上,总线控制逻辑包括: 1. 支持访问扩充板上存储器操作的逻辑支持访问扩充板上存储器操作的逻辑 2. 支持执行输入输出指令的逻辑支持执行输入输出指令的逻辑 3. 支持外部中断方式的以支持外部中断方式的以8259为核心的中断控制逻辑为核心的中断控制逻辑 4.支持存储器直接读写支持存储器直接读写(DMA)操作的以操作的以8237为核心组成的为核心组成的DMA控制逻辑控制逻辑 7.2.2外中断控制逻辑和中断控制芯片外中断控制

53、逻辑和中断控制芯片8529ACPUINTRINTA 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A80286及其以后的微机系统中,用两片及其以后的微机系统中,用两片8259A级联组成了可屏级联组成了可屏蔽中断的外部控制逻辑。蔽中断的外部控制逻辑。上面的是主片,下面的是从片。上面的是主片,下面的是从片。主主8259A的的INT端端(输出输出)与与CPU的中断请求输入端的中断请求输入端INTR相接,相接,而从片的而从片的INT端与主片的端与主片的IR2端相连。端相连。主片和从片的主片和从片的INTA端都和端都和CPU的的INTA端相连。端相连。 7.2.2外中断控制逻

54、辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A每片每片8259A有有8个输入端个输入端IR0IR7,可分别接受,可分别接受8个外部的中断请个外部的中断请求,两片级联,可以接受求,两片级联,可以接受15级外部的中断请求。级外部的中断请求。同时标出了对应的中断类型号:同时标出了对应的中断类型号: 主片:主片:08H0FH 从片:从片:A0HA7H每个每个8259A分配两个端口:分配两个端口:主片主片8259A:20H和和21H, 从片从片8259A:A0H和和A1H。在图的最左侧,给出了系统常规配置下对各个中断请求端的应用在图的最左侧,给出了系统常规配置下对各个中断请求端的应用分配。通常,

55、自己开发的接口应用那些标有分配。通常,自己开发的接口应用那些标有保留保留的请求端。的请求端。1. 8259的外部引脚图的外部引脚图 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A1)数据总线数据总线D7D0 双向,用于双向,用于CPU和和8259A之间的数据通信。之间的数据通信。2)读写控制读写控制 RD,读信号,输入,低电平有效。,读信号,输入,低电平有效。 WR,写信号,输入,低电平有效,写信号,

56、输入,低电平有效 CS,片选信号,输入,低电平有效。有效,片选信号,输入,低电平有效。有效时,该时,该8259A芯片被选中芯片被选中 A0,端口选中信号,输入。每片,端口选中信号,输入。每片8259A均分均分配两个端口,如配两个端口,如20H和和21H两个端口。两个端口。当当A0=0时,选中时,选中偶偶地址端口;地址端口;当当A0=1时,选中时,选中奇奇地址端口。地址端口。1. 8259的外部引脚图的外部引脚图 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4

57、IR3IR2IR1IR0INTSP/ENCAS28259A3)级联引脚级联引脚CAS0CAS2 8259A可工作于多片级联方式。级联引脚是可工作于多片级联方式。级联引脚是级联信号线。级联信号线。 主片的级联引脚是输出主片的级联引脚是输出 从片的级联引脚是输入。从片的级联引脚是输入。SP/EN: 1. 当当8259A工作在非缓冲模式下,用作输入端,工作在非缓冲模式下,用作输入端,用于区别主片与从片。在多片级联中,主片的用于区别主片与从片。在多片级联中,主片的SP/EN接高电平,表示是主片;而从片的接低电平,接高电平,表示是主片;而从片的接低电平,表示是从片。表示是从片。 2.当当8259A工作在

58、缓冲模式下,用作输出端,工作在缓冲模式下,用作输出端,控制缓冲器的接受和发送。控制缓冲器的接受和发送。1. 8259的外部引脚图的外部引脚图 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529AINTAINT8259A4)中断信号中断信号 INT:中断请求输出端:中断请求输出端,与与CPU的的INTR输入端相连;输入端相连; INTA:中断响应输入端,与中断响应输入端,与CPU的的INRA输出端相连。输出端相连。CPUINTRINTAIR0IR7外部设备外部设备 IR0IR7:是外设加入是外设加入8259A的中断请的中断请求输入端。求输入端。 过程:过程:外设外设825

59、9A CPU 8259A1. 8259的内部逻辑结构的内部逻辑结构 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A1. 8259的内部逻辑结构的内部逻辑结构 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A其内部逻辑结构主要由下面几个部分组成:其内部逻辑结构主要由下面几个部分组成: 1. 中断请求寄存器:中断请求寄存器:IRR2.中断服务寄存器:中断服务寄存器:ISR3.中断优先级分析器:中断优先级分析器:PR 4. 初始化命令字:初始化命令字:ICW1ICW45. 操作命令字:操作命令字:OCW1OCW36. 读写控制逻辑读写控制逻辑

60、7. 级联缓冲器级联缓冲器/比较器比较器以上所有的寄存器(除了优先级分析器外)和命令字,均是以上所有的寄存器(除了优先级分析器外)和命令字,均是8bit的寄存器的寄存器。1. 8259的内部逻辑结构的内部逻辑结构 7.2.2外中断控制逻辑和中断控制芯片外中断控制逻辑和中断控制芯片8529A1. 中断请求寄存器:中断请求寄存器:IRRIRR是一个是一个8bit的寄存器,用于记录外部中断请求。的寄存器,用于记录外部中断请求。D7D6D5D4D3D2D1D0D0D7,每一位分别与外部中断请求信号,每一位分别与外部中断请求信号IR0IR7一一对应。一一对应。当当IRi(i=07)有中断请求时,)有中断

温馨提示

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

评论

0/150

提交评论