微机原理中断处理过程共19页文档
- 格式:ppt
- 大小:1.90 MB
- 文档页数:19
第六章中断(interruption)§6.1 中断处理(interrupt processing)一.中断为提高CPU利用率而采用的CPU与外设交换信息的一种重要方式指计算机的CPU暂时终止它正在执行的程序,转去执行请求中断的外设或事件的中断服务程序,待处理完后又返回执行被暂时终止的程序这样一个过程中断与调用子程序的最主要差别在于,调用子程序是在主程序中预先安排好的,中断处理则可能是随机的二.中断的用途1.实现分时操作2.实现实时处理3.实现故障处理三.中断系统应具有的功能1.能自动实现中断及返回2.能实现中断优先3.能实现多重中断四.中断处理过程中断处理过程包括:中断请求、中断响应、中断处理、中断返回 1.中断请求2.中断响应<1>关中断<2>保护断点<3>转到中断服务子程序首地址:CS:IP=入口地址3.中断处理及返回<1>保护现场:可用PUSH<2>中断服务<3>恢复现场:可用POP<4>开中断<5>返回(P161,F7-1)§6.2 8086/8088中断系统(8086/8088 interrupt system)一.中断源外部中断和部中断,或称硬件中断和软件中断,外部中断又分可屛蔽中断和非屛蔽中断(P164,F7-3)·可屛蔽中断请求INTR·非屛蔽中断请求NMI·部中断:通过软件调用由CPU自己启动中断过程,部中断是非屛蔽型的INT n ,(n=0~255)可调用所有中断子程序INTO ,溢出中断(n=4),标志OF=1时产生中断除法出错(n=0),除数为0时产生INT 0单步(n=1),TF=1时每执行一条指令产生一次INT 1断点中断(n=3),可插在程序任何处产生中断,同样用来调试程序单步方式适用于较小程序,断点方式适用于较长程序DEBUG设置程序断点时将INT3单字节指令(CCH)写入断点处指令的第一字节位置(原字节保存起来),程序执行到INT3时发生中断,一般显示当前寄存器容及指定存储器容,结束后取回保存字节恢复原指令软件中断特点:<1>中断类型号n由指令指定或隐含<2>8088不运行中断响应周期INTA<3>除单步中断外,其优先级比硬件中断高<4>所有中断里,单步中断优先级最低,它可用IF=0来屛蔽二.与中断有关的指令INT n ;SP←SP-2,[SP+1,SP] ←Flags ,IF←0 ,TF←0 SP←SP-2,[SP+1,SP] ←CS ,CS←[TYPE×4+2]SP←SP-2,[SP+1,SP] ←IP ,IP←[TYPE×4]IRET ;IP←[SP+1,SP],SP←SP+2CS←[SP+1,SP],SP←SP+2Flags←[SP+1,SP],SP←SP+2CLI ;IF←0,禁止可屛蔽中断和单步中断STI ;IF←1三.中断向量表256种类型,位于000~3FFH的1KB空间(见P166,F7-4)IP=[n×4]CS=[n×4+2]例:INT 21H,n×4=84H,则IP←[85H,84H],CS←[87H,86H] 四.中断处理顺序·8086/8088各类中断的优先级别为:除法出错,INT n ,INTO 高NMIINTR单步中断低·中断处理顺序如下流程:(详见P169,F7-6)·CPU在响应中断后,自动完成:Flags入栈清除IF、TFCS入栈、IP入栈取中断向量到IP、CS中转入中断子程·中断返回执行IRET使Flags出栈,IF、TF恢复到中断前状态·在用户编写的中断服务子程序中,要考虑是否需要保护现场(Flags,CS,IP以外的寄存器容)五.中断响应周期时序CPU响应INTR请求的中断,首先产生两个中断响应总线周期,每个周期4T(P168,F7-5)第一个INTA周期,CPU使地址/数据总线高阻,并在T2~T4发INTA 给8259A,使之准备中断类型码第二个INTA周期,CPU发INTA,8259A接收到该信号后送中断类型码n到数据总线D7~D0,CPU读取n后据此找到中断子程序入口地址CPU获取n的三个途径:默认的,指令给出的,外部提供的六.中断响应条件1.可屛蔽中断:INTR有效,IF=1,没有部中断,NMI无效,没有总线请求2.非屛蔽中断:NMI有效,没有部中断,没有总线请求§6.3 BIOS和DOS一.BIOS(基本输入/输出系统,Basic I/O System)程序采用中断方式,向用户或操作系统提供一些主要外设控制功能,包括开机自检,显示器,通讯接口,键盘和打印机等的字符传送,图形发生等(程序写在主板上的ROM中)在中断向量表中,n=0~4 CPU规定的5个专用中断n=5~1FH ROM BIOS使用n=20H~FFH DOS和BASIC保留,用户可用60H~67H实际DOS使用20H~3FH,40H~7FH系统未用地址类型码功能0~3 0 除法错误4~7 1 单步8~B 2 NMIC~F 3 断点指令10~13 4 溢出14~17 5 打印屏幕18~1B 6 保留1C~1F 7 保留20~23 8 电子钟定时(18.21秒)24~27 9 键盘28~2B A 保留2C~2F B 异步通讯口230~33 C 异步通讯口134~37 D 硬盘38~3B E 软盘3C~3F F 打印机40~43 10 视频I/O驱动44~47 11 设备检测48~4B 12 存储器容量检测4C~4F 13 磁盘(软、硬)I/O驱动50~53 14 RS232 I/O驱动54~57 15 盒式磁带I/O58~5B 16 键盘I/O5C~5F 17 打印机I/O60~63 18 ROM BASIC入口码64~67 19 自举引导程序(BOOT)68~6B 1A 一日时间6C~6F 1B 键盘中断(CTRL-BREAK)控制70~73 1C 用户定时器报时74~77 1D CRT初始化参数表78~7B 1E 磁盘参数表7C~7F 1F 图形字符集(ASCII码)n=8~F是8级可屛蔽中断BIOS经常用到的中断调用有:·INT 5H 打印屏幕同时按Ctrl和PrtSc或部调用INT 5H可将屏幕容打出·INT 10H CRT显示16种功能,AH=功能号,用来设置显示模式、光标形状和位置、读光标位置、屏幕上滚和下滚、置彩色调色板、写点、读点等 AH=1为设置光标形状,2为设置光标位置,7为屏幕下翻·INT 13H 软盘I/O,硬盘I/O对软盘,6种功能,作软盘系统复位、读/写扇区等对硬盘,21种功能,作硬盘系统复位、读/写扇区、诊断、格式化等·INT 14H 串行I/O通讯向RS232通讯端提供I/O字节流,4个功能用来设定波特率、收发数据等·INT 16H 键盘I/O3个功能用来读字符、判键符等·INT 17H 打印机I/O用来打印字符CMOS(Complementary Metal-Oxide-Semiconductor Transistor)互补金属氧化物半导体,用来存放计算机硬件配置和系统时钟信息的RAM,128字节,BIOS可对这些系统参数读出及设置. 二.DOS(磁盘操作系统,Disk Operating System)用于帮助用户建立和管理程序与数据,管理计算机系统设备BIOS固化在ROM中,DOS则由磁盘装入,DOS包括:<1>引导记录(boot record)每次启动时自动装入存,并由它装入DOS的其他部分<2>(或IO.SYS)提供DOS到ROM BIOS的接口,可以进行数据从存到外设的读写,是DOS的核心<3>(或MSDOS.SYS)提供系统与用户程序的接口,含有一个文件管理程序和一系列子程序,用户可在DOS状态下用INT指令调用它们<4>命令处理程序,接收打入的命令并运行相应的程序,它包括:常驻部分初始化部分暂存部分DOS设立了20H~27H的中断如下地址类型码功能80~83 20 程序结束,返回DOS84~87 21 系统功能调用88~8B 22 结束(退出)地址8C~8F 23 CTRL-BREAK退出地址90~93 24 标准错误出口地址94~97 25 绝对磁盘读98~9B 26 绝对磁盘写9C~9F 27 程序结束驻留退出A0~FF 28~3F DOS保留100~1FF 40~7F 未用(60~67为用户保留)200~3C3 80~F0 BASIC使用3C4~3FF F1~FF 未用<1> INT 20H终止正在运行的程序,并返回DOS。
第九章 微型计算机的微型计算机的微型计算机的中断系统中断系统中断系统主要内容:§9-1 概述§9-2 中断处理过程§9-3 中断优先级和中断嵌套§9-4 可编程中断控制器8259A§9-1 1 概述概述概述一、中断概念1、中断 什么是中断?与生活场景的比较如下图:(1)定义CPU 执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU 暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。
(2)特点中断方式是一种常用的数据传送的控制方式,利用中断可以避免不断检测外部设备状态,提高CPU 的效率。
2、中断源引起程序中断的事件称为中断源。
中断源有内部中断和外部中断两种。
内部中断由程序预先安排的指令(INT n)引起,或CPU 运算中产生某些错误引起;外部中断是外部设备向CPU 发出中断申请引起的。
3、中断响应中断请求何时发生是随机的。
CPU 在每一条指令的最后一个时钟(T)周期去检测INTR引脚,一旦检测到有中断请求,并满足响应中断的要求,CPU就响应中断。
4、中断向量表CPU响应中断后,必须由中断提供地址信息,引导程序进入中断服务子程序,这些中断服务程序的入口地址存放在专门开辟的区域,该区域存放中断向量表。
5、中断优先级当多个中断源请求中断时,中断系统判别中断申请的优先级,CPU响应高级的中断,挂起优先级低的中断。
6、中断屏蔽当中断源申请中断时,CPU可以由软件设置,使之不能响应,称为中断屏蔽。
7、中断基本功能(3个)(1)能实现中断响应,中断服务,中断返回,中断屏蔽;(2)能实现中断优先级排队;(3)能实现中断嵌套。
本章主要介绍8086/8088CPU的中断系统和可编程的中断控制器的芯片8259A。
二、中断分类8086/8088有一个强有力的中断系统,可以处理256种不同的中断。