版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 中断系统与中断系统与8237A DMA8237A DMA控制器控制器 7.1 7.1 中断系统概述中断系统概述7.1.1 7.1.1 中断的概念及其作用中断的概念及其作用1 1、中断的概念、中断的概念中断中断-指计算机在执行正常程序的过程中出现内部或外部某指计算机在执行正常程序的过程中出现内部或外部某 些事件的请求时,些事件的请求时,CPUCPU暂时停止当前程序的正常执行,暂时停止当前程序的正常执行, 转去执行请求事件的处理操作,转去执行请求事件的处理操作,CPUCPU在事件处理结束在事件处理结束 后再回到被暂时中断了的程序继续往下执行。后再回到被暂时中断了的程序继续往下执行。
2、当前正运行的程序当前正运行的程序中断处理程序中断处理程序图图7-1 7-1 中断示意表中断示意表指令指令A A指令指令B B指令指令C C中中断断请请求求指令指令1 1指令指令2 2IRETIRETCPUCPU响响应中断应中断中断返回中断返回2 2、中断系统的作用、中断系统的作用(1 1)能实现并行处理)能实现并行处理(2 2)能实现实时处理)能实现实时处理(3 3)能实现故障处理)能实现故障处理 7.1.2 7.1.2 中断处理系统中断处理系统一个完整的中断处理系统必须实现以下功能:一个完整的中断处理系统必须实现以下功能:中断源识别、中断优先级判断、中断嵌套管理以及中断源识别、中断优先级判断
3、、中断嵌套管理以及CPUCPU的的中断响应、中断服务和中断返回。中断响应、中断服务和中断返回。1、中断源识别、中断源识别中断源中断源-引起程序中断的事件。引起程序中断的事件。图图7-2 7-2 向量中断技术中断源识别示意图向量中断技术中断源识别示意图外外设设中中断断请请求求 D D7 7 CPU CPU D D1 1 D D0 0IRETIRET外设提供外设提供设备标志码设备标志码2 2、中断优先级判断、中断优先级判断中断优先级判断的具体方法可分为:软件查询、硬件排队和专用中断优先级判断的具体方法可分为:软件查询、硬件排队和专用 中断控制器。中断控制器。(1 1)软件查询方式)软件查询方式 图
4、图7-3 7-3 软件查询接口电路软件查询接口电路 N N保护现场,读中断位状态保护现场,读中断位状态出错处理出错处理恢复现场开中断恢复现场开中断A A中断服务子程序中断服务子程序中断入口中断入口是是A A请求?请求?Y YN N是是B B请求?请求?B B中断服务子程序中断服务子程序是是H H请求?请求?H H中断服务子程序中断服务子程序返回返回Y YY YN N图图7-7-4 4 软件查询程序流程软件查询程序流程(2 2)硬件排队方式)硬件排队方式 图图7-7-5 5 中断优先权编码电路中断优先权编码电路 (3)专用中断控制器专用中断控制器3、中断嵌套管理、中断嵌套管理STISTI(EOI
5、)(EOI)IRETIRETIR2IR2和和IR4IR4中断请求中断请求STI STI 。(EOI) (EOI) IRETIRETIR1IR1中断请求中断请求IR2IR2中断清除中断清除IR4IR4中断请求中断请求开中断开中断IR1IR1中断清除中断清除主程序主程序IR2IR2处理程序处理程序IR1IR1处理程序处理程序STISTI。(EOI) (EOI) IRETIRETSTI STI 。(EOI) (EOI) IRETIRETIR3IR3中断请求中断请求开中断开中断IR3IR3中断清除中断清除IR4IR4处理程序处理程序IR3IR3处理程序处理程序IR4IR4中断清除中断清除图图7-7-6
6、 6中断嵌套管理中断嵌套管理4 4、中断处理过程、中断处理过程 CPUCPU取下一条指令取下一条指令中断源提出中断请求中断源提出中断请求判优逻辑进行优先排队判优逻辑进行优先排队CPUCPU执行完当前指令执行完当前指令中断请求信号有效?中断请求信号有效?CPUCPU关闭中断?关闭中断?CPUCPU关闭中断关闭中断保护断点地址保护断点地址找出中断源,形成中断服务找出中断源,形成中断服务程序入口地址,并转向中断服务程序入口地址,并转向中断服务保护现场保护现场执行中断服务程序执行中断服务程序恢复现场恢复现场CPUCPU开放中断开放中断返回主程序断点处返回主程序断点处中断请求中断请求中断判优中断判优中断
7、响应中断响应中断处理中断处理中断返回中断返回Y YY YN NN N图图7-7 7-7 中断处理基本过程中断处理基本过程7.2 8086CPU7.2 8086CPU中断系统中断系统7.2.1 8086CPU7.2.1 8086CPU的中断源的中断源256256种中断可分为两大类:外部中断和内部中断。种中断可分为两大类:外部中断和内部中断。INT 3INT 3指令指令INT nINT n指令指令INT OINT O指令指令除法除法出错出错单步单步中断中断中断处理逻辑中断处理逻辑非屏蔽非屏蔽中断请求中断请求8259A8259A8086 CPU8086 CPUINTRINTR可屏蔽中断请求可屏蔽中断
8、请求NMINMI图图7-87-880868086系统的中断源系统的中断源1 1、中断源的类型、中断源的类型(1(1)外部中断(硬件中断)外部中断(硬件中断)分为非屏蔽中断和可屏蔽中断两种。分为非屏蔽中断和可屏蔽中断两种。 1 1)非屏蔽中断)非屏蔽中断 2 2)可屏蔽中断)可屏蔽中断(2(2)内部中断(软件中断)内部中断(软件中断) 1 1)单步中断)单步中断-中断类型号是中断类型号是1 1 2 2)除法出错中断)除法出错中断-中断类型号是中断类型号是0 0 3 3)断点中断)断点中断-中断类型号是中断类型号是3 3 4 4)溢出中断)溢出中断-中断类型号是中断类型号是4 4 5 5)指令中断
9、)指令中断-中断类型号是中断类型号是n n内部中断的特点内部中断的特点: 内部中断的类型号都是固定的,或是在中断指令中给定的。内部中断的类型号都是固定的,或是在中断指令中给定的。 不需要进入不需要进入INTAINTA总线周期获取类型号;总线周期获取类型号; 不受中断允许标志位不受中断允许标志位IFIF的影响;的影响; 用一条指令或由某个标志位启动进入中断处理程序,这样用一条指令或由某个标志位启动进入中断处理程序,这样 的中断没有随机性。的中断没有随机性。 2 2、中断源的优先级、中断源的优先级 表表7-1 80867-1 8086中断系统中断源的优先级中断系统中断源的优先级中中 断断 源源优优
10、 先先 级级除法出错中断除法出错中断最高最高最低最低软件中断软件中断INT nINT n溢出中断溢出中断INTOINTO非屏蔽中断非屏蔽中断NMINMI可屏蔽中断可屏蔽中断INTRINTR单步中断单步中断7.2.2 8086CPU7.2.2 8086CPU的中断响应过程的中断响应过程 图图7-97-980868086系统中断系统中断响应过程的流程响应过程的流程执行当前指令执行当前指令有溢出中断?有溢出中断?有非屏蔽中断?有非屏蔽中断?有单步中断吗?有单步中断吗?N NY YN NN NN NN NN N自动形成中断类型码自动形成中断类型码2 2自动形成中断类型码自动形成中断类型码1 1Y YY
11、 YY YY YY YY YN NY YN NPSWPSW、CSCS、IPIP依次入栈并清除依次入栈并清除IFIF和和TFTF标志位标志位由中断类型码形成中断服务程序由中断类型码形成中断服务程序的入口、并执行中断服务程序的入口、并执行中断服务程序IPIP、CSCS、PSWPSW依次出栈依次出栈取下一取下一条指令条指令指令执行结束吗?指令执行结束吗?IFIF1 1?有除法出错中断?有除法出错中断?有软件中断有软件中断INTnINTn?有可屏蔽中断?有可屏蔽中断?自动形成中断类型码自动形成中断类型码0 0自动形成中断类型码自动形成中断类型码4 4响应中断响应中断读取中断类型码读取中断类型码从指令中
12、取出中断类型码从指令中取出中断类型码n n若是断点形成中断类型码若是断点形成中断类型码3 31 1、内部中断和非屏蔽中断的响应及处理过程、内部中断和非屏蔽中断的响应及处理过程(1) (1) 中断请求与检测中断请求与检测(2) (2) 确定中断向量地址确定中断向量地址(3(3)保护各标志位状态和屏蔽)保护各标志位状态和屏蔽INTRINTR中断和单步中断中断和单步中断(4(4)保存断点)保存断点(5(5)执行中断服务程序)执行中断服务程序(6(6)中断返回)中断返回 2 2、可屏蔽中断、可屏蔽中断(1) (1) 中断请求与检测中断请求与检测(2) (2) 判断是否响应判断是否响应(3(3)确定中断
13、向量地址)确定中断向量地址7.2.3 7.2.3 中断向量表中断向量表中断向量中断向量-中断服务程序入口地址。中断服务程序入口地址。中断向量表中断向量表-中断服务程序入口地址表。中断服务程序入口地址表。 中断向量地址中断向量地址-中断向量在中断向量表中的位置。中断向量在中断向量表中的位置。中断向量地址与中断类型号之间的关系可表示为:中断向量地址与中断类型号之间的关系可表示为: 中断向量地址中断类型号中断向量地址中断类型号* *4 4 图7-10 8086系统的中断向量表专用中断(5个)系统使用(27个)供用户使用(224个)IPCSIPCSIPCSIPCSIPCSIPCSIPCSIPCSIPC
14、S0000:00000000:00040000:00080000:000C0000:00100000:00140000:007C0000:00800000:03FC除法出错中断入口(类型号0)单步中断中断入口(类型号1)NMI中断入口(类型号2)断点中断入口(类型号3)溢出中断入口(类型号4)系统中断1入口(类型号5)系统中断27入口(类型号31)用户中断1入口(类型号32)用户中断224入口(类型号255)例例7-17-1某中断源的类型号为某中断源的类型号为3434,且已知部分中断向量表如图,且已知部分中断向量表如图7-7-1111所示,试求中断服务程序入口的物理地址。所示,试求中断服务程序
15、入口的物理地址。 解:解:3434* *4=1364=136即中断向量地址为:即中断向量地址为:88H88H查中断向量表得中断向量为:查中断向量表得中断向量为:A123HA123H:B678HB678H中断服务程序入口的物理地址为:中断服务程序入口的物理地址为: AC8A8H AC8A8H 地址地址0087H0087H0088H0088H0089H0089H008AH008AH008BH008BH01H01H78H78HB6HB6H23H23HA1HA1H图图7-11部分中断向量表部分中断向量表例例7-2 7-2 某中断源的类型号为某中断源的类型号为54H54H,中断服务程序入口的符号地址,中
16、断服务程序入口的符号地址为为INTADDINTADD,试编一段程序设置该中断类型号的中断向量。,试编一段程序设置该中断类型号的中断向量。解:解: MOV AX,0 MOV DS,AX MOV BX,54H*4 ;取中断向量地址取中断向量地址 MOV AX,OFFSETINTADD ;取中断向量并送入中取中断向量并送入中 ;断向量表断向量表 MOV BX,AX MOV AX,SEGINTADD MOV BX2,AX 7.2.4 7.2.4 中断程序设计中断程序设计中断程序设计分为主程序设计和中断服务子程序设计两部分。中断程序设计分为主程序设计和中断服务子程序设计两部分。主程序主程序-用来完成相关
17、的初始化工作,为实现中断做好准备;用来完成相关的初始化工作,为实现中断做好准备;中断服务子程序中断服务子程序-用来完成相关的中断处理工作。用来完成相关的中断处理工作。1 1、主程序设计、主程序设计初始化工作分三部分:初始化工作分三部分: (1(1)CPUCPU内部的初始化内部的初始化(2)2)中断控制器中断控制器8259A8259A的初始化的初始化(3)3)通用接口的初始化通用接口的初始化2 2、中断服务子程序设计、中断服务子程序设计中断服务子程序含有以下七个部分:中断服务子程序含有以下七个部分: 1 1)保护中断时的现场。)保护中断时的现场。 2 2)若允许中断嵌套,则设置开中断。)若允许中
18、断嵌套,则设置开中断。 3 3)执行中断处理程序。)执行中断处理程序。 4 4)设置关中断,)设置关中断, 5 5)给中断命令寄存器送中断结束命令)给中断命令寄存器送中断结束命令EOIEOI。 6 6)恢复中断时的现场。)恢复中断时的现场。 7 7)用中断返回指令)用中断返回指令IRETIRET返回主程序。返回主程序。7.3 7.3 中断控制器中断控制器Intel 8259AIntel 8259A功能:功能: 1 1)具有)具有8 86464级的中断优先权管理功能;级的中断优先权管理功能; 2 2)每一级都可以通过编程实现中断屏蔽或开放;)每一级都可以通过编程实现中断屏蔽或开放; 3 3)在中
19、断响应周期,)在中断响应周期,8259A8259A可以自动提供相应的中断类型号;可以自动提供相应的中断类型号; 4 4)可以通过编程来选择)可以通过编程来选择8259A8259A的各种工作方式及任意设定中断的各种工作方式及任意设定中断 类型号。类型号。7.3.1 8259A7.3.1 8259A的引脚信号及结构的引脚信号及结构图图7-12 8259A内部结构及引脚信号内部结构及引脚信号名称符号作 用数据总线D7D0通过数据总线与CPU交换数据(双向、三态)中断请求线INT向CPU发出中断请求,与CPU的INTR端相连(输出)中断应答线INTA接收CPU发来的中断应答信号。与CPU的INTA端相
20、连(输入),具体详见后述的中断响应线总线周期操作读出信号线RD使将要输出的内容送到数据总线上(输入)写入信号线WR使从数据总线上接收数据(输入)芯片选通线CS使处于选通状态(输入)地址线A0选择的端口(输入)外设中断请求线IR7IR0使从外设接收中断请求(输入),中断请求信号可以是电平触发也可以是边沿触发级联线CAS2CAS0与SP/EN线配合实现多片的级联,在主片上它是输出线,在从片上它是输入线(双向)编程缓冲线SP/EN当采用缓冲方式时作为输出,在数据从往CPU传送时,启动数据总线驱动器;当采用非缓冲方式时作为输入,决定本片是主片还是从片,SP/EN=1为主片,SP/EN=0为从片(双向)
21、表表7-2 82597-2 8259引脚信号作用引脚信号作用 1 1、8259A8259A的外部引脚信号的外部引脚信号2 2、8259A8259A的内部结构的内部结构(1 1)数据总线缓冲器)数据总线缓冲器 作用:连接系统数据总线和作用:连接系统数据总线和8259A8259A内部总线。内部总线。(2 2)读)读/ /写控制逻辑写控制逻辑 作用:接收作用:接收CPUCPU的读的读/ /写命令写命令RDRD、WRWR,片选信号,片选信号CSCS和端和端口选择信号口选择信号A A0 0。 (3 3)级联缓冲)级联缓冲/ /比较器比较器 作用:控制多片作用:控制多片8259A8259A的级联的级联 (
22、4 4)中断请求寄存器)中断请求寄存器IRRIRR 作用:寄存所有的外部中断请求。作用:寄存所有的外部中断请求。(5 5)中断服务寄存器)中断服务寄存器ISRISR(8 8位)位) 作用:寄存当前所有正在被服务的中断级。作用:寄存当前所有正在被服务的中断级。(6 6)中断屏蔽寄存器)中断屏蔽寄存器IMRIMR(8 8位)位) 作用:寄存要屏蔽的中断级。作用:寄存要屏蔽的中断级。(7 7)优先权比较器)优先权比较器PR PR 作用:确定存放在作用:确定存放在IRRIRR中各个中断请求信号对应中断中各个中断请求信号对应中断 源的优先级,并对它们进行排队判优,源的优先级,并对它们进行排队判优,(8
23、8)中断控制逻辑)中断控制逻辑7.3.2 8259A7.3.2 8259A的工作方式的工作方式六种工作方式:六种工作方式:中断请求方式、中断源屏蔽方式、中断嵌套方式、中断请求方式、中断源屏蔽方式、中断嵌套方式、优先级循环方式、中断结束方式、读优先级循环方式、中断结束方式、读8259A8259A状态方式。状态方式。 1 1、中断请求方式(三种)、中断请求方式(三种) 1 1)边沿触发器方式)边沿触发器方式 2 2)电平触发方式)电平触发方式 3 3)中断查询方式)中断查询方式2 2、中断源屏蔽方式(两种)、中断源屏蔽方式(两种)(1 1)普通屏蔽方式)普通屏蔽方式(2 2)特殊屏蔽方式)特殊屏蔽
24、方式3 3、中断嵌套方式(两种)、中断嵌套方式(两种)(1) (1) 全嵌套方式全嵌套方式(2) (2) 特殊全嵌套方式特殊全嵌套方式4 4、优先级循环方式(两种)、优先级循环方式(两种)(1) (1) 优先级自动循环方式优先级自动循环方式 (2) (2) 优先级特殊循环方式优先级特殊循环方式5 5、中断结束方式(两种)、中断结束方式(两种) (1) (1) 中断自动结束方式中断自动结束方式(AEOIAEOI) (2) (2) 中断非自动结束方式中断非自动结束方式(两种)(两种) 1 1)普通)普通EOIEOI结束方式结束方式 2 2)特殊)特殊EOIEOI结束方式结束方式6 6、读、读825
25、9A8259A状态方式状态方式 7.3.3 8259A7.3.3 8259A的编程的编程8259A8259A的编程分为初始化编程和工作方式编程。的编程分为初始化编程和工作方式编程。1 1、初始化命令字及其编程、初始化命令字及其编程初始化命令字共有四个:初始化命令字共有四个:ICWICW1 1、ICWICW2 2 、ICWICW3 3、ICWICW4 4。 初始化结束初始化结束写写ICWICW4 4写写ICWICW3 3写写ICWICW2 2写写ICWICW1 1要写要写ICWICW4 4?级联?级联?A A0 0=0=0A A0 0=1=1A A0 0=1=1N NY YY YN NA A0
26、0=1=1图图7-13 8259A7-13 8259A写入写入ICWICW流程图流程图初始化命令字完成以下功能:初始化命令字完成以下功能:1 1)设定中断请求信号触发形式,高电平触发或上升沿触发;设定中断请求信号触发形式,高电平触发或上升沿触发;2 2)设定)设定8259A8259A工作方式,单片或级联;工作方式,单片或级联;3 3)设定)设定8259A8259A中断类型号基值,即中断类型号基值,即IRIR0 0对应的中断类型号;对应的中断类型号;4 4)设定优先级设置方式及中断处理结束时的结束操作方式;)设定优先级设置方式及中断处理结束时的结束操作方式;(1 1)芯片控制初始化命令字)芯片控
27、制初始化命令字ICWICW1 1作用:作用:1 1)设定中断请求信号)设定中断请求信号触发形式,高电平触发或上升沿触发;触发形式,高电平触发或上升沿触发;2 2)设定)设定8259A8259A工作方式,单片或级联;工作方式,单片或级联;3 3)清除中断屏蔽寄存器)清除中断屏蔽寄存器IMRIMR,设置优先权排队,使,设置优先权排队,使IRIR0 0优先权最优先权最 高,高,IRIR1 1次之,依此类推,次之,依此类推,IRIR7 7最低。最低。 图图7-147-14 ICW ICW1 1的格式的格式 ICWICW1 1命令字输入条件:写入命令字的端口地址命令字输入条件:写入命令字的端口地址A A
28、0 0=0=0,命令字,命令字 的特征位的特征位D D4 4=1=1。IC4IC4:由:由D D0 0定义,指出初始化过程是否要写入定义,指出初始化过程是否要写入ICWICW4 4。LTIMLTIM:由:由D D3 3定义,指出定义,指出8 8个中断信号作用的有效触发方式。个中断信号作用的有效触发方式。SNGLSNGL:由:由D D1 1定义,指出单片或多片级联方式。定义,指出单片或多片级联方式。 (2 2)中断类型初始化命令字)中断类型初始化命令字ICWICW2 2作用:设定作用:设定8259A8259A中断类型号基值,即中断类型号基值,即IRIR0 0对应的中断类型号。对应的中断类型号。I
29、CWICW2 2命令字输入条件:命令字输入条件:ICWICW2 2命令字必须紧接着命令字必须紧接着ICWICW1 1写入,且写入写入,且写入 命令字的端口地址:命令字的端口地址:A A0 0=1=1。图图7-15 ICW2的格式的格式(3 3)主从片初始化命令字)主从片初始化命令字ICWICW3 3作用:是定义系统中主片、从片的级联。作用:是定义系统中主片、从片的级联。ICWICW3 3命令字输入条件命令字输入条件:仅当多片:仅当多片8259A8259A级级联联时,且写入命令字的时,且写入命令字的 端口地址位端口地址位A A0 0=1=1,主,主8259A8259A和每个从片和每个从片 825
30、9A8259A都须写入都须写入ICWICW3 3。图图7-16 ICW3的格式的格式(4 4)方式控制初始化命令字)方式控制初始化命令字ICWICW4 4作用:定义作用:定义CPUCPU模式、设定嵌套方式、设定结束操作方式。模式、设定嵌套方式、设定结束操作方式。ICWICW4 4命令字输入条件:仅当命令字输入条件:仅当ICWICW1 1中中D D0 0(ICIC4 4)为)为1 1时才需要写入时才需要写入 ICWICW4 4,且写入命令字的端口地址:,且写入命令字的端口地址:A A0 0=1=1。设置微处理器类型:由设置微处理器类型:由D D0 0定义。定义。设置中断结束方式:由设置中断结束方
31、式:由D D1 1定义。定义。设置缓冲器:由设置缓冲器:由D D3 3、D D2 2定义。定义。设置嵌套方式:由设置嵌套方式:由D D4 4定义。定义。 图图7-7-1717 ICW ICW4 4的格式的格式 2 2、操作命令字及其编程、操作命令字及其编程8259A8259A操作命令字共有操作命令字共有3 3个,即个,即OCWOCW1 1、OCWOCW2 2、OCWOCW3 3。操作命令字是在应用程序内部设置的。操作命令字是在应用程序内部设置的。(1 1)屏蔽操作命令字)屏蔽操作命令字OCWOCW1 1作用:实现与该作用:实现与该8259A8259A相连的各中断源的屏蔽与开放相连的各中断源的屏
32、蔽与开放图图7-18 OCW1的格式的格式(2 2)中断方式命令字)中断方式命令字OCWOCW2 2作用:设置优先级是否循环、循环的方式及中断结束的方式。作用:设置优先级是否循环、循环的方式及中断结束的方式。设置设置OCWOCW2 2条件:命令字中标志位条件:命令字中标志位D D3 3D D4 4=00=00,写入的端口地址:写入的端口地址:A A0 0=0=0。设置循环方式:由设置循环方式:由D D7 7定义。定义。设置中断结束命令:由设置中断结束命令:由D D5 5定义。定义。设置末三位有效性:由设置末三位有效性:由D D6 6定义。定义。 图图7-7-1919 OCW OCW2 2的格式
33、的格式 (3 3)状态操作命令字)状态操作命令字OCWOCW3 3作用:设置查询方式、设置或撤消特殊屏蔽方式、以及用来读作用:设置查询方式、设置或撤消特殊屏蔽方式、以及用来读8259A8259A的中断请求寄存器的中断请求寄存器IRRIRR、中断服务寄存器、中断服务寄存器ISRISR的当的当前状态。前状态。设置设置OCWOCW3 3的条件:命令字中标志位的条件:命令字中标志位D D4 4D D3 3=01=01,写入的端口地址:写入的端口地址:A A0 0=0=0。设置查询方式:由设置查询方式:由D D2 2定义。定义。设置或撤消特殊屏蔽方式:由设置或撤消特殊屏蔽方式:由D D6 6、D D5
34、5 两位定义。两位定义。读读8259A8259A内部寄存器的状态:由内部寄存器的状态:由D D1 1、D D0 0 两位定义。两位定义。 图图7-7-2020 OCW OCW3 3的格式的格式 表表7-3 8253A端口分配及读端口分配及读/写操作功能写操作功能CSWRRDA0D4D3功能00100011001100111XXXXXXX写ICW1写ICW2写ICW3写ICW4001100100010XX0001写OCW1写OCW2写OCW30100010001010101XXXXXXXX读IRR读ISR读IMR读状态7.3.47.3.4 8259A8259A的应用举例的应用举例在在IBM PC
35、/XTIBM PC/XT中的应用中的应用图图7-21 PC/XT系统中断结构系统中断结构表表7-4 PC/XT系统用户中断列表系统用户中断列表 中断类型号中断类型号矢量地址矢量地址中断源中断源BIOSBIOS中断服务程序中断服务程序(段地址:偏移地址)(段地址:偏移地址)08H08H202023H23H时钟时钟 TIME-INT(F000:FFA5H) TIME-INT(F000:FFA5H)09H09H242427H27H键盘键盘 KB-INT(F000:E987H) KB-INT(F000:E987H) 0AH0AH28282BH2BH保留保留 D11(F000:FF23H) D11(F0
36、00:FF23H)0BH0BH2C2C2FH2FH串行口串行口2 2 D11(F000:FF23H) D11(F000:FF23H)0CH0CH303033H33H串行口串行口1 1 D11(F000:FF23H) D11(F000:FF23H)0DH0DH343437H37H硬盘硬盘 HD-INT(C800:0760H) HD-INT(C800:0760H)0EH0EH38383BH3BH软盘软盘 DISK-INT(F000:EF57H) DISK-INT(F000:EF57H)0FH0FH3C3C3FH3FH打印机打印机 D11(F000:FF23H) D11(F000:FF23H)825
37、9A8259A的初始化程序段如下:的初始化程序段如下:MOV ALMOV AL,13H13HOUT 20HOUT 20H,ALALMOV ALMOV AL,08H08HOUT 21HOUT 21H,ALALMOV ALMOV AL,09H09HOUT 21HOUT 21H,AL AL 7.3.57.3.5 80868086中断响应总线周期操作中断响应总线周期操作图图7-22 8086中断响应周期中断响应周期注意点:注意点:(1 1)中断请求信号)中断请求信号(2 2)INTAINTA响应信号响应信号(3 3)总线保持请求信号)总线保持请求信号HOLDHOLD优先优先(4 4)提供中断向量的外设
38、接口)提供中断向量的外设接口 7.4 7.4 可编程可编程DMADMA控制器控制器8237A8237A7.4.18237A的特性与结构1、主要特性(1)一个8237A芯片有四个独立的DMA通道,也可通过级连方式扩充通道数目;(2)各通道具有独立的允许禁止DMA请求的控制功能和自动预置功能;(3)各通道都有DMA请求信号DREQ和响应信号DACK,其有效电平可编程设定;(4)有两种优先级:固定优先级和循环优先级;(5)有四种工作方式:单字节传送方式、数据块传送方式、请求传送方式和级联方式;(6)有两种基本时序:正常时序和压缩时序;(7)传送数据时具有自动修改地址的功能;(8)DMA传送过程中具有
39、总线控制权,在传送结束后能将总线控制权归还给CPU;(9)数据传送结束时能发DMA结束信号,也可由外部发送DMA结束信号中止传送。2、8237A的工作周期(1)DMA空闲周期:8237A处于从属状态(2)DMA有效周期:8237A处于主控状态,具有总线控制权,控制DMA传送。3、外部结构8237ANCREADYHLDAADSTBAENHRQCLKRESETDACK2DACK31234567891011121314151617181920DREQ3DREQ2DREQ1DREQ0GNDIORIOWMEMRMEMWCSA7A6A5A4EOPA3A2A1A0VCCDB0DB1DB2DB3DB4DACK
40、0DACK1DB5DB6DB74039383736353433323130292827262524232221图7-23 8237A的引脚图表7-58237A引脚功能引脚名功能CLK时钟输入。控制8237A内部操作定时和DMA传送速率CS片选输入,低电平有效。空闲周期选中8237A作为I/O设备RESET复位输入,高电平有效。屏蔽寄存器被置1,其它寄存器均被清0READY准备就绪输入,高电平有效。存储器或I/O设备就绪ADSTB地址选通输出,高电平有效。有效周期时将当前地址寄存器中的高8位地址DB7DB0送入外部锁存器AEN地址允许输出,高电平有效。有效周期时将外部锁存器中的高8位地址送到地址
41、总线上HRQ总线请求,高电平有效。8237A某通道接收到有效DREQ后,若相应通道屏蔽位为0,则向CPU发总线请求信号HLDA总线响应,高电平有效。CPU收到HRQ后,如允许则向8237A发送响应信号,将总线控制权交给8237ADREQ3DREQ0DMA请求输入,每个通道对应一个DREQ信号端,有效电平可编程确定,但复位后规定高电平有效。在收到响应信号之前,始终保持有效电平。DACK3DACK0DMA响应输出,每个通道对应一个DACK信号端,有效电平可编程确定,但复位后规定低电平有效。A3A0最低4位地址线,三态,双向。空闲周期时用于对8237A内部寄存器寻址,有效周期时输出最低4位地址A7A
42、44位地址线,三态,输出。有效周期时提供高4位地址DB7DB08位双向数据线,三态,双向。有效周期用于输出当前地址寄存器中的高8位地址;空闲周期用于读取或写入8237A内部寄存器的值IORI/O设备读信号,双向,低电平有效。有效周期时,读取I/O设备数据;空闲周期时,读取8237A内部寄存器数据IOWI/O设备写信号,双向,低电平有效。有效周期时,将数据写入I/O设备;空闲周期时,把数据写入8237A内部寄存器MEMR存储器读信号,低电平有效。有效周期时读取所选存储单元数据MEMW存储器写信号,低电平有效。有效周期时向所选存储单元写入数据EOPDMA传送结束信号,双向,低电平有效。可以是DMA
43、完成后由8237A发出,也可由外部向8237A发出该信号强制结束DMA传送。注意,不用时应接高电平,防止误输入4、内部结构(1)时序与控制逻辑(2)优先级编码逻辑1)固定优先级:通道0的优先级最高,通道3的优先级最低,按顺序排列。2)循环优先级:当前优先级最高的通道在结束本次DMA传送后变为优先级最低的通道,其他通道的优先级依次前进一位。(3)命令控制逻辑(4)数据和地址缓冲器组(5)内部寄存器组通道寄存器:每个通道各自独立拥有的寄存器共用寄存器:4个通道共同使用的寄存器7.4.2内部寄存器1、通道寄存器(1)当前地址寄存器DMA传送时用来提供当前访问存储器地址的16位寄存器。(2)当前字节计
44、数寄存器DMA传送时用来保存当前需传送字节数的16位寄存器。(3)基地址寄存器用来存放相应通道当前地址寄存器初值的16位寄存器。基地址寄存器和当前地址寄存器合用一个端口地址,编程时这两个寄存器写入相同的数据。(4)基字节计数寄存器用来存放相应通道当前字节计数器初值的16位寄存器。基字节计数寄存器和当前字节计数寄存器也合用一个端口地址,编程时这两个寄存器也写入相同的数据。(5)方式寄存器用于选择相应通道的DMA传送方式和类型等的6位寄存器,其格式如图7-24所示。图7-24 方式寄存器格式D7D6D5D4D3D2D1D000:选择通道001:选择通道110:选择通道211:选择通道300:检验传
45、送01:写传送10:读传送11:非法xx:如D7D611则无效00:请求传送方式01:单字节传送方式10:数据块传送方式11:级连传送方式0:选择地址加11:选择地址减10:禁止自动预置1:允许自动预置1)8237A的传送方式单字节传送方式数据块传送方式请求传送方式级联传送方式DREQ0DACK0DREQ1DACK1DREQ3DACK3HRQHLDA从8237A主8237AHRQHLDA图7-25 两片8237A级联2)8237A的传送类型写传送:将数据从I/O接口写入内存。读传送:从内存读取数据送到I/O接口。校验传送:虚拟传送,用来校验读/写传送功能,一般用于检测器件。(1)控制寄存器图7
46、-26 控制寄存器格式0:固定优先权1:循环优先权D7D6D5D4D3D2D1D00:禁止存储器到存储器传送1:允许存储器到存储器传送0:禁止通道0地址保持不变1:允许通道0地址保持不变x:D0=0时,不起作用0:允许8237A操作1:禁止8237A操作0:正常时序1:压缩时序x:D01时,不起作用0:DACK低电平有效1:DACK高电平有效0:DREQ高电平有效1:DREQ低电平有效0:不扩展写操作1:扩展写操作x:D3=1时,不起作用(2)状态寄存器图7-27 状态寄存器格式D7D6D5D4D3D2D1D01:通道0计数已结束1:通道1计数已结束1:通道2计数已结束1:通道3计数已结束1:
47、通道3有请求1:通道2有请求1:通道1有请求1:通道0有请求0:表示没有请求0:表示通道计数没有结束(3)请求寄存器0:复位请求1:置位请求D7D6D5D4D3D2D1D000:选择通道001:选择通道110:选择通道211:选择通道3无用位图7-28 请求寄存器格式(4)屏蔽寄存器 1)通道屏蔽字图7-29 通道屏蔽字格式D7D6D5D4D3D2D1D000:选择通道001:选择通道110:选择通道211:选择通道30:复位屏蔽位1:设置屏蔽位无用位2)主屏蔽字图7-30 主屏蔽字格式无用位D7D6D5D4D3D2D1D01:对通道0设置屏蔽1:对通道1设置屏蔽1:对通道2设置屏蔽1:对通道
48、3设置屏蔽(5)暂存寄存器 存储器到存储器传送时,用于暂存中转传送数据。3、8237A的内部寄存器对应的端口地址表7-68237A内部寄存器地址分配表端口地址读操作写操作DMA+00H通道0当前地址寄存器通道0基地址与当前地址寄存器DMA+01H通道0当前字节计数寄存器通道0基字节计数与当前字节计数寄存器DMA+02H通道1当前地址寄存器通道1基地址与当前地址寄存器DMA+03H通道1当前字节计数寄存器通道1基字节计数与当前字节计数寄存器DMA+04H通道2当前地址寄存器通道2基地址与当前地址寄存器DMA+05H通道2当前字节计数寄存器通道2基字节计数与当前字节计数寄存器DMA+06H通道3当前地址寄存器通道3基地址与当前地址寄存器DMA+07H通道3当前字节计数寄存器通道3基字节计数与当前字节计数寄存器DMA+08H状态寄存器控制寄存器DMA+09H请求寄存器DMA+0AH屏蔽寄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵州峰鑫建设投资(集团)有限公司招聘演艺人员2人备考题库【典优】附答案详解
- 2026河南安阳殷都区人民医院招聘卫生专业技术人员9人备考题库及参考答案详解(b卷)
- 2206北京大学未来技术学院招聘劳动合同制人员1人备考题库附参考答案详解【研优卷】
- 2026广东汕尾市城区消防救援大队招聘政府专职消防员4人备考题库【b卷】附答案详解
- 2026四川乐山市沐川县招募见习人员1人备考题库及答案详解(全优)
- 2026四川成都市龙泉驿区东山国际小学教师招聘12人备考题库【a卷】附答案详解
- 2026云南昆明聂耳交响乐团编外人员招聘2人备考题库及参考答案详解【综合卷】
- 2026山东东营锦苑大地幼儿园招聘幼儿园教师1人备考题库含答案详解【b卷】
- 2026新疆第七师医院医共体上半年招聘87人备考题库及答案详解【新】
- (新教材)2026人教版二年级下册数学 练一练(P44-45) 课件
- 企业员工健康风险评估报告模板
- 2025医疗器械验证和确认管理制度
- 《交易心理分析》中文
- 2025年驻马店职业技术学院单招(计算机)测试模拟题库及答案解析(夺冠)
- 2025年专升本产品设计专业产品设计真题试卷(含答案)
- 基于图像处理的糖晶体识别技术:原理、方法与应用研究
- 餐厅洗碗间管理办法
- 螺杆压缩机维护保养手册
- 2024统编版七年级道德与法治下册全册分课时同步练习题(含答案)
- 2025广西机场管理集团有限责任公司招聘136人(第一批次)笔试参考题库附带答案详解(10套)
- 食堂就餐统计表
评论
0/150
提交评论