第七章 中断技术教材_第1页
第七章 中断技术教材_第2页
第七章 中断技术教材_第3页
第七章 中断技术教材_第4页
第七章 中断技术教材_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第七章中断技术1本章的主要内容本章主要介绍:I/O的基本知识(接口的功能与作用,端口编址方式,信息传送方式,端口地址分配与地址译码等)中断的基本原理(中断请求、判优、响应、处理、返回)8086中断系统(中断源,中断向量表,中断类型号,中断响应过程等)中断控制器8259A(内部结构,工作原理,工作方式及编程)PCXT/AT机中的外部中断逻辑2第一节

I/O接口3一、I/O接口的重要作用输入和输出设备是计算机系统的重要组成部分。外设与计算机主机连接是通过各种I/O接口实现的。所以,I/O接口在系统中起着重要的桥梁作用。如图:4一、I/O接口的重要作用(续)◎I/O接口:连接外设与总线之间的逻辑电路的总称。即总线主设备与外设之间的桥梁。

通过I/O接口,总线与外设可以交换数据,主设备可以控制该I/O口的工作(向I/O口写入命令);监测与管理I/O口的工作状态;必要时,I/O口还可产生中断请求。

主设备与外设交换数据还存在以下问题需要解决:

•速度不匹配

•信号电平不匹配(TTL,CMOS,RS-232等)

•信号格式不匹配(并行、串行、模拟、数字等)•时序不匹配(外设有自己的定时与控制逻辑)5微机系统中的各种I/O接口6二、I/O接口的主要功能●数据缓冲功能(解决速度差异)●设备选择(端口地址,译码)●信号转换功能(电平,并、串,数、模等转换)●对外设的控制与监测功能(发命令,监测状态等)●中断请求与管理●可编程功能7三、I/O端口的编址方式●I/O端口:把I/O接口电路中能被CPU直接访问的寄存器或某些特定器件称之为端口(Port)。I/O接口中常设有数据口、命令口和状态口。●I/O端口的编址方式

•与存储器统一编址(或存储器映射方式)

优点:指令多且齐全;端口空间大。

缺点:指令长且慢;占用内存空间。•I/O独立编址

优点:指令短(设有单独的I/O指令)执行快;不占内存

空间;程序易读。

缺点:端口空间小;需要单独的I/O读、写信号。

8四、CPU与I/O端口之间传送信息的方式◎无条件传送

电路简单,CPU访问时总认为I/O已准备好。下面是一个无条件传送的输入方式电路:

图中,AEN是地址允许信号。当AEN=0由CPU控制总线;当AEN=1时,由DMA控制总线。CPU读三态缓冲器时总认为数据已准备就绪9四、CPU与I/O端口之间传送信息的方式(续)◎程序查询传送方式

读I/O端口状态信息,若准备就绪,就输入或输出,否则,就继续查询等待。显然,该方式CPU的大部分时间都用在了查询和等待了,所以传送效率不高。下图是一个查询输入的接口电路。其查询程序如下:

wait1:mov

dx,stportinal,dxtestal,80h;当ready=1,数据已准备好。

jzwait1;当ready=0,数据未准备好。

mov

dx,dtport;准备好,读端口数据

inal,dx

10四、CPU与I/O端口之间传送信息的方式(续)11四、CPU与I/O端口之间传送信息的方式(续)◎中断传送方式该方式可大大提高CPU的工作效率。该方式是:当外设要求CPU交换数据时,可向CPU发出中断请求,CPU在执行完当前指令后,即可中断当前任务的执行,根据中断源提供的中断类型号,转入相应的中断处理程序,以实现对外设的数据传送和管理。该方式可实现CPU和外设并行工作。12四、CPU与I/O端口之间传送信息的方式(续)13四、CPU与I/O端口之间传送信息的方式(续)

◎DMA传送方式

DMA(DirectMemoryAccess)传送方式又称直接存储器存取方式。其原理就是在存储器与外设之间开辟一条高速数据通道,使外设与内存之间直接交换数据。这一数据通道是通过DMA控制器来实现的。在DMA传送期间,不需要CPU的任何干预,而是由DMA控制器控制系统总线,在其控制下完成数据传送任务。

对于高速数据传送和与外设频繁交换信息的场合,DMA方式比中断传送方式效率高。因为中断传送要不断的保护断点和现场,使CPU的工作效率大为降低。14四、CPU与I/O端口之间传送信息的方式(续)

DMA传送原理示意图如下:15五、PC机系列I/O端口地址分配地址分配:前256个端口给系统板,后768个端口给扩展版系统板上接口芯片的端口地址(000H~00FFH)16五、PC机系列I/O端口地址分配(续)扩展槽上接口控制卡的端口地址(100H~3FFH)17六、I/O端口地址译码译码电路的两种译码方式固定式端口地址译码可选式端口地址译码译码电路的实现途径门电路译码译码器译码GAL、FPGA器件实现译码(译码电路对外可保密)(由于涉及到开发工具与GAL编程,不要求掌握)18六、I/O端口地址译码(续)★用门电路实现地址译码,有全译码和部分译码

全译码电路:I/O所有地址线都参加译码的电路称为全译码电路。溢出的I/O地址是唯一的,不会产生地址重叠。部分译码电路:I/O地址线只有部分地址信号参加了译码的电路称为部分译码电路。译出的I/O地址有重叠。IOR和IOW、AEN等信号也可参加译码。19六、I/O端口地址译码(续)I/O用门电路译码实例:(a)部分译码(b)全译码20六、I/O端口地址译码(续)采用译码器可同时译出多个端口地址常用译码器有3-8译码器74LS138、4-16译码器74LS154,双2-4译码器74LS139等21六、I/O端口地址译码(续)例:采用74LS138译码器实现全译码电路22六、I/O端口地址译码(续)开关式可选择译码电路,读者可以计算译码器的地址范围

23第二节中断的基本概念24中断的概念和全过程*什么是中断?

所谓中断就是当CPU正常运行程序时,由于随机的事件包括内部事件和外部事件)引起CPU暂时中止正在运行的程序,转去执行请求中断的中断源的中断服务程序,中断服务结束后再返回被中止的程序。这一过程被称为中断。*中断源

广义地说,能引起CPU产生程序中断的随机事件就是中断源。例如:外设故障、传输错误、定时器时间到等都可以是中断源;某外设需要传送数据向CPU发出中断请求,该外设即是中断源。对主机来说,系统掉电、硬件故障、软件错误、设置断点、单步操作等也是中断源。25中断的概念和全过程(续)*中断过程

中断的全过程分为以下五步:中断请求,中断判优,中断响应,中断服务(处理),中断返回。◎中断请求

中断请求分为边沿请求和电平请求。请求信号由低到高或有高到低的跳变为边沿触发请求;请求信号为高电平或低电平为电平触发请求。◎中断判优

1、软件判优

2、硬件判优26中断的概念和全过程(续)◎中断响应中断响应就是CPU”中断”现正在进行的处理任务,转向中断请求相对应的处理程序的过程。中断响应过程应解决如下问题:

*

保护断点

*

保护现场

*CPU关中断

*

转到中断请求所对应的处理程序(控制权转移:方法有固定入口地址;矢量中断)

27中断的概念和全过程(续)◎中断处理(服务)中断处理就是执行中断服务程序,完成中断源提出的处理要求。实际上是软件编程问题。中服程序与子程序的区别:随机事件与意料之中事件;对主程序透明与不透明。中服程序中如何保护现场与恢复现场。若允许中断嵌套,应该在中服程序中开中断(STI)。

28中断的概念和全过程(续)◎中断返回中断返回就是CPU控制权由中服程序转移到被中断程序的过程。用IRET指令。IRET指令的功能。29中断判优什么是中断判优CPU管理多个中断源时,在收到中断源发出的中断请求后,需判断是哪一个中断源提出的中断请求,以便对它进行服务(或处理)中断判优的方法软件查询判优法硬件判优法(向量中断和链式判优)30软件查询判优CPU响应中断后,转入执行一特定地址的中断服务程序,该中断服务程序查询状态口,确定发出中断请求的外设,然后进行相应的处理。31查询中断优先程序外设的中断优先级由查询的次序决定32硬件判优(向量中断法)多个外设经中断控制器向CPU提出中断请求,CPU响应中断发出INTA信号,中断控制器将相应的中断向量号(中断类型号)放在数据总线上,CPU读取后,即可确定中断源,查中断向量表进行相应处理。矢量中断优先级控制器原理如下图,优先级判别器判别出最高优先级请求,将其优先级别转换为3位代码,送到中断矢量寄存器的低3位及当前在服务寄存器;之后,中断控制逻辑向CPU发出中断请求信号,CPU中止正执行的程序,向中断控制电路发回中断响应信号,然后进入中断处理过程。33硬件判优(向量中断法)并行判优网络(向量中断实例)34硬件判优(链式判优法)链式判优电路与并行判优不同,链式判优是根据中断源在中断判优链上的物理位置来决定其优先级别的,越靠近CPU的中断源的级别越高。其判优方法如下图所示。35中断嵌套当前正在被执行的中断服务程序可被优先级更高的中断请求中断优先级相同或更低的中断请求不能中断当前正在被执行的中断服务程序36第三节

PC机的中断系统37中断源类型外部中断(硬中断)非屏蔽中断NMI可屏蔽中断INTR内部中断(软中断)除法错中断溢出错中断断点中断单步中断38PC机中断系统X86的中断源39中断源的优先级

中断源优先级

除法错,INTn,INTO最高

NMI次高

INTR次低单步中断(INT1)最低40硬中断与软中断的比较硬中断的特点由外部事件引起,具有随机性CPU需发中断响应信号(对INTR),对NMI不发可以被屏蔽(对INTR),对NMI不能屏蔽由中断控制器发中断类型号(对INTR),对NMI,CPU自动产生(02号)软中断的特点通常,用中断指令触发,中断的发生时刻是可知的CPU不发中断响应信号中断类型号(n)由指令直接给出不可被屏蔽41非屏蔽中断NMI当CPU收到非屏蔽中断NMI请求后,默认该请求的中断类型号为02H。早期的包括3个非屏蔽中断源协处理器出错系统RAM奇偶校验错I/O通道校验错42可屏蔽中断INTR在CPU的INT引脚输入“高”有效信号时,则产生硬件可屏蔽中断请求信号。是否屏蔽由FR寄存器的IF位决定。IF=0,屏蔽中断(执行CLI指令)IF=1,允许中断(执行STI指令)使用中断控制器管理多个硬件中断源43内部中断(软中断)除法错中断执行DIV或IDIV指令时,商超出机器表示的最大值,即产生0号中断溢出错中断当FR的OF=1时,执行INTO指令,即产生4号中断单步中断当FR的TF=1时,执行每条指令,即产生1号中断指令中断断点中断INT3H(机器码为:CCH),单字节指令INTnH44软中断分类在PC系列机中,INT

n分为两类:ROM-BIOS中断I/O设备控制程序BIOS实用服务程序BIOS特殊中断BIOS专用参数中断DOS中断公开的DOS专用中断(供内核代码专用)未公开的DOS专用中断(供内核代码专用)DOS可调用中断系统功能调用中断DOS保留45中断向量表中断向量表及向量号分配由若干中断服务程序入口地址组成的表例:X86的中断向量分配表如下图教材后面的附录D给出了中断向量号的分配IPCSIPCSIPCSIPCS46中断向量表(续)47外部中断响应与处理过程中断申请外设向CPU发中断请求信号申请CPU给予服务,CPU决定是否响应中断响应发中断响应信号INTA,获取中断类型号,保存断点及FR于堆栈,查表获得中断服务程序入口地址中断服务程序保护现场,开中断,对外设进行服务(I/O操作),恢复现场中断返回从堆栈弹出断点及FR,回到中断前的地址继续执行48外部中断响应与处理过程(续)49中断操作流程50中断操作流程说明例如:某中断向量号为72H,图7.16示出了中断操作过程,如下所述:①取中断向量号72H;②计算中断向量地址72×4=1C8H;72×4+2=1CAH;③取中断服务程序入口地址的偏移量送入IP,IP=2050H,段地址送入CS,CS=A000H;④转入中断服务程序A0000H:2050H;⑤中断返回到INT72H指令的下一条指令。51中断响应周期(对INTR)52第四节可编程中断控制器8259A538259A中断控制器(PIC)功能优先级排队管理完全嵌套循环优先级特殊完全嵌套方式接受和扩充外部设备的中断请求利用级联方式可扩展至8片,管理64个中断源提供中断类型号中断请求的允许与屏蔽548259A的内部结构和外部特性558259A的外部特性※8259A是28脚封装的NMOS芯片,其管脚如上图所示。1.8259A与CPU的连接信号

•D7~D0:CPU与8259A之间的数据线。

•RD和WR:

读/写命令线,通常分别接CPU的IOR和IOW信号。•CS和A0:

片选线和地址线。CS由系统的I/O译码器产生,它确定该

8259A在系统I/O空间的基地址。A0用于选择8259A的内部寄存器。因只有一条地址线,可知该芯片有两个端口地址。•INT:

中断请求线,高有效,接到CPU的INTR信号。

•INTA:CPU或总线控制器8288来的中断响应信号线。在中断响应期间,该信号线送CPU来的负脉冲。•IR0~IR7:8259A的8个异步中断请求输入信号。高电平和上升沿表示有请求。568259A的外部特性(续)2.

8259A与外设间的连接信号

•CAS2~CAS0:

级联信号。它是双向信号,当系统的中断请求多于8个时,可用两个或更多的8259A级联,其中一个是主中断控制器,其余的是从控制器。从控制器的INT输出接到主控制器的一个IR输入上。在中断响应期间,若主8259A判定所响应的是由某一从8259A来的中断请求,则它在级联线上发出该从8259A的识别号,并由各个从8259A接收。

•SP/EN:

双向信号线。当8259A与系统数据总线之间加双向总线驱动器以加大8259A的驱动能力时,8259A应处于“缓冲方式”。这时,应是输出线,以控制双向总线驱动器的EN端。若不采用缓冲方式,则是输入线(见图7.19),由它决定该8259A编程为“从片”(=1)还是编程为“主片”(=0)。578259A的内部结构中断请求寄存器(IRR)存放外部中断源发出的中断请求信号,具有锁存功能正在服务寄存器(ISR)存放正在被服务的中断请求信号。中断嵌套时,有多个比特同时被置“1”中断屏蔽寄存器(IMR)“0”允许中断;“1”屏蔽中断优先权分析器(PR)把IRR的内容与ISR的内容进行比较,响应优先级高的中断588259A的内部结构(续)数据总线缓冲器三态双向8位缓冲器作为与系统总线的接口读/写控制逻辑

RDWR

一条地址线A0,只有两个端口。

(早期的PC/XT机器中,两个口地址:20H,21H)

级联缓冲器/比较器(CAS2~CAS0)用于存储和比较从片中所有8259的标识号598259A的级联8259A的级联,主片可以级联8个从片608259A的工作方式中断触发方式边沿触发方式电平触发方式中断查询方式(若系统中断源超过64个时)屏蔽中断源的方式普通屏蔽方式特殊屏蔽方式中断嵌套方式正常全嵌套方式特殊全嵌套方式618259A的工作方式(续)中断优先级方式优先级自动循环方式优先级指定循环方式结束中断的处理方式正常中断结束方式(EOI)指定中断结束方式(SEOI)自动中断结束方式(AEOI)628259A的工作方式(续)※几个名词解释正常全嵌套方式允许比现正处理的优先级更高的事件打断它的处理而被服务。特殊全嵌套方式允许同级和高优先级的请求可以打断正进行的处理而实现嵌套。此方式仅用于主片PIC。中断结束命令(EOI)

有三种EOI命令,使得中断响应或处理完后能使相应的ISR复位(即ISRi=0)。

*

正常EOI命令:在中断处理结束时使当前优先级最高的ISR复位。

638259A的工作方式(续)※几个名词解释

*

指定EOI命令(SEOI):该EOI命令指出了所复位的ISR的号。该命令用于不能肯定本级是否最高优先级的场合。

*

自动EOI命令(AEOI):该方式下,当某一IRQ被CPU响应中断结束时自动使其ISR为0。这种方式免除了中断处理结束时一定要向8259A发送EOI命令的必要。但是它打乱了正常全嵌套。648259A全嵌套方式流程图658259A编程(命令字)初始化命令字(有4个初始化命令字ICW)芯片控制(工作方式设置)ICW1中断类型号ICW2级联方式ICW3特殊全嵌套、缓冲器方式ICW4操作命令字(有3个操作命令字OCW)中断屏蔽字OCW1中断结束方式OCW2中断查询OCW366初始化命令字1(ICW1)完成触发方式设置及级联方式设置的功能67初始化命令字2(ICW2)完成中断矢量号设置的功能(高5位由用户设定,低3位由系统自动填入)68初始化命令字2(ICW2)(续)例在奇地址端口写入00001010B后,对应的中断类型号为08-0FH(低3位是自动填入的)在奇地址端口写入10000010B后,对应的中断类型号为80-87H69初始化命令字3(ICW3)只在级联方式下使用。完成主、从片间连接关系设置功能对主片的设置70初始化命令字3(ICW3)(续)对从片的设置71初始化命令字3(ICW3)(续)例如:一个主片和两个从片的级联如图,主片和两个从片的ICW3分别初始化。72初始化命令字4(ICW4)ICW4:完成结束中断方式、缓冲模式和嵌套模式的设置功能73初始化命令字4(ICW4)(续)特殊完全嵌套方式当前正在被执行的中断服务程序可被优先级相等或更高的中断请求中断结束中断EOI普通EOI

中断服务程序需向8259A送中断结束命令(EOI)标识中断结束自动EOI

中断程序无需送EOI命令。在第二个INTA脉冲信号的后沿,将ISR的对应bit清0。

74操作命令字1(OCW1)OCW1:完成中断屏蔽IR0-7的设置功能。OCW1可读可写75操作命令字2(OCW2)OCW2:完成非自动中断结束、中断排队方式的设置功能76正常(不指定)EOI如果采用完全嵌套方式,可采用不指定EOI方式发出该EOI后,中断控制器将ISR中优先级最高的bit复位。例:ISR=00100100,执行

moval,20h

;(EOI=20H,即OCW2=20H)out20h,al

;(该指令中20H为8259A的口地址)

后,ISR=0010000077指定EOI如果中断优先级被打乱,即当前正在被服务的中断服务程序的优先级不是最高的,则必须采用指定EOI方式。发出EOI时须指定要复位的ISR的bit的位置。例:ISR=00100100,当前服务程序对应ISR的bit5

moval,01100101h

;(OCW2=65H)out20h,al

后,ISR=0000010078非指定EOI自动循环命令(同等优先)某中断源被服务后,优先级自动降为最低级。例如

79操作命令字3(OCW3)OCW3:完成IR和ISR寄存器、状态字查询,特殊屏蔽方式设置的功能80读IR或IS寄存器读IRR

moval,00001010bout20h,al

nopinal,20h;IRRal读ISR

moval,00001011bout20h,al

nopinal,20h;ISRal81特殊全嵌套方式特殊全嵌套方式下的EOI处理82特殊屏蔽方式在中断服务程序中屏蔽自己,响应高级中断请求和低级中断请求。83第五节8259A在微机系统中的应用848259A初始化流程858259A在PC机中的应用8259A在PC机中的应用(PC/XT和PC/AT)868259A初始化编程系统上电时,分别对8259A的主片、从片进行初始化编程。主片PIC的口地址为20H,21H;IR2接有从片PIC从片PIC的口地址位A0H,A1H对INTR中断源初始化系统采用固定优先级,正常全嵌套方式。初始化程序如下:主片PIC初始化

878259A初始化编程(续)主片PIC初始化

mov

dx,20h;ICW1地址

moval,11h;写ICW1,沿触发方式、级联,要ICW4outdx,aladddx,1;指向ICW2、ICW3、ICW4地址

moval,8;ICW2,中

温馨提示

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

评论

0/150

提交评论