




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章第六章 输入和输出和中断输入和输出和中断本章重点本章重点:n本章主要讲述输入输出的概念、输入输出方本章主要讲述输入输出的概念、输入输出方式、中断的概念、中断类型、向量表、优先式、中断的概念、中断类型、向量表、优先级、处理过程、中断程序设计以及级、处理过程、中断程序设计以及BIOS/DOS中断调用。中断调用。6.1 输入输入/输出(输出(I/O)指令)指令和数据的传送方式和数据的传送方式本节重点:本节重点:n本节重点介绍接口电路的概念和作用,接口的本节重点介绍接口电路的概念和作用,接口的类型,输入输出的寻址方式,类型,输入输出的寻址方式, CPU与外设数与外设数据传送的方式据传送的方式知识
2、回顾:n主机为什么要和输入输出设备通信,他们之间的关系如何?主机硬件系统主机硬件系统输入输入/ /输出接口输出接口n简写为I/O接口,是CPU与外部设备间的桥梁CPU外设外设I/O接口接口微型计算机的概念结构微型计算机的概念结构存储器I/O接口输入设备I/O接口地址总线地址总线 ABAB输出设备CPU数据总线数据总线 DBDB控制总线控制总线 CBCBI/O接口6.1.16.1.1接口电路的概念与作用接口电路的概念与作用 一、外设为什么一定要通过接口电路和主机总线相连?外设为什么一定要通过接口电路和主机总线相连?1 1、高速、高速CPUCPU与低速外设间的速度矛盾;与低速外设间的速度矛盾;2
3、2、主机数字信号与外设模拟信号的矛盾;、主机数字信号与外设模拟信号的矛盾;3 3、CPUCPU与外设间并行与外设间并行/ /串行信号形式的矛盾。串行信号形式的矛盾。6.1.16.1.1接口电路的概念与作用接口电路的概念与作用 一、外设为什么一定要通过接口电路和主机总线相连?外设为什么一定要通过接口电路和主机总线相连?1 1、高速、高速CPUCPU与低速外设间的速度矛盾;与低速外设间的速度矛盾;2 2、主机数字信号与外设模拟信号的矛盾;、主机数字信号与外设模拟信号的矛盾;3 3、CPUCPU与外设间并行与外设间并行/ /串行信号形式的矛盾。串行信号形式的矛盾。6.1.16.1.1接口电路的概念与
4、作用接口电路的概念与作用 二、为什么存储器不用接口却可以直接与二、为什么存储器不用接口却可以直接与CPUCPU连接?连接?1 1、功能单一:保存信息;、功能单一:保存信息;2 2、传送方式单一:一次传送、传送方式单一:一次传送1 1个字节或个字节或1 1个字;个字;3 3、品种有限:只读和读、品种有限:只读和读/ /写;写;4 4、存取速度与、存取速度与CPUCPU工作速度基本匹配。工作速度基本匹配。6.1.2 输入输出的寻址方式输入输出的寻址方式众多的外部设备如何识别?众多的外部设备如何识别?我们教学楼的教室是如何区分的?我们教学楼的教室是如何区分的?编址 6.1.2 输入输出的寻址方式输入
5、输出的寻址方式一、一、统一编址(统一编址(存储器对应输入输出方式存储器对应输入输出方式)内存和外设端口进行统一编址,只有一个统一的地址空间。内存和外设端口进行统一编址,只有一个统一的地址空间。通常不用设置专门的输入和输出指令。访问外设就好像在通常不用设置专门的输入和输出指令。访问外设就好像在访问主存一样(地址唯一)。访问主存一样(地址唯一)。二、二、独立编址(端口独立编址(端口寻址的输入输出方式寻址的输入输出方式)SPCE061A片内存储器映射 2 2K K S SR RA AM M中中断断向向量量0 0X X0 00 00 00 00 0X XF FF FF F6 60 0X X0 07 7
6、F FF F0 0X X0 08 80 00 0保保留留空空间间0 0X X6 6F FF FF F0 0X X7 70 00 00 0I I/ /O O端端口口系系统统端端口口0 0X X7 7F FF FF F0 0X X8 80 00 00 00 0X XF FF FF F5 50 0X XF FF FF FF F3 32 2K K F FL LA AS SH H R RO OM MRAM、ROM统一编址。2K word的SRAM。片内32K Word Flash ROM。6.1.2 输入输出的寻址方式输入输出的寻址方式一、一、统一编址(统一编址(存储器对应输入输出方式存储器对应输入输出
7、方式)二、二、独立编址(端口独立编址(端口寻址的输入输出方式寻址的输入输出方式)建立两个地址空间,一个为内存地址空间,一个为外设建立两个地址空间,一个为内存地址空间,一个为外设地址空间。通过控制总线来确定地址空间。通过控制总线来确定CPU到底要访问内存空到底要访问内存空间还是访问外设地址空间。因此需要专门的输入输出指间还是访问外设地址空间。因此需要专门的输入输出指令来访问外部设备(地址冲突),令来访问外部设备(地址冲突),8086外设寻址范围外设寻址范围(0000HFFFFH)。)。三、三、输入输出指令输入输出指令I/O指令使用的寄存器:指令使用的寄存器:AL/AX、DX1输入指令输入指令IN
8、格式:格式:INAL,PORT;(PORT) ALINAL,DX;(DX) ALINAX,PORT;(PORT) AXINAX,DX;(DX) AX其中其中PORT、DX指明指明I/O地址。当地址。当I/O地址为地址为0255时,时,可用立即数的形式,当可用立即数的形式,当I/O地址地址 0255时时,必须使用必须使用DX寄存器存放寄存器存放I/O地址。地址。2.输出指令输出指令OUT格式:格式:OUTPORT,AL;(AL) PORTOUTDX,AL;(AL) DXOUTPORT,AX;(AX) PORTOUTDX,AX;(AX) DX其中其中PORT、DX指明指明I/O地址。当地址。当I/
9、O地址为地址为0255时,可时,可用立即数的形式,当用立即数的形式,当I/O地址地址 0255时时,必须使用必须使用DX寄存寄存器存放器存放I/O地址。地址。 示例:示例:(1)INAL,40H;(40H) AL(2)OUT80H,AL;(AL) 80H(3)MOVDX,378H;端口地址;端口地址378H IN AL,DX;(DX) AL 6.1.3 接口的信息类型和结构特点接口的信息类型和结构特点一、一、CPU与与I/O设备之间的接口信息设备之间的接口信息1、数据信息、数据信息(1)数字量:以二进制形式表示的数或以)数字量:以二进制形式表示的数或以ASCII码表示的数或字符码表示的数或字符
10、(2)模拟量:声音信号)模拟量:声音信号(3)开关量:只有两个状态()开关量:只有两个状态(1和和0)的量,用一位二进制数即可表示。)的量,用一位二进制数即可表示。2、状态信息、状态信息反映了当前外设的工作状态,是外设通过接口往反映了当前外设的工作状态,是外设通过接口往CPU传送的。对于输入传送的。对于输入设备来说,通常用准备好(设备来说,通常用准备好(READY)信号来表明输入的数据是否准备就)信号来表明输入的数据是否准备就绪;对于输出设备来说,通常用忙(绪;对于输出设备来说,通常用忙(BUSY)信号表示输出设备是否处于)信号表示输出设备是否处于空闲状态。空闲状态。3、控制信息、控制信息CP
11、U通过接口传送给外设的,通过接口传送给外设的,CPU通过发送控制信息控制外设的工作。通过发送控制信息控制外设的工作。二、接口的结构和识别二、接口的结构和识别1、端口:端口:每个接口都有一组寄存器,称这些寄存每个接口都有一组寄存器,称这些寄存器为器为I/O端口(端口(PORT),每一个端口都有一个端口),每一个端口都有一个端口地址。地址。2、端口的类型:、端口的类型:数据端口:数据端口:对来自对来自CPU和内存的数据或送往和内存的数据或送往CPU和内存的和内存的数据起缓冲作用。数据起缓冲作用。状态端口:状态端口:存放外部设备或接口部件本身的状态。存放外部设备或接口部件本身的状态。控制端口:控制端
12、口:存放存放CPU发出的命令,以便控制接口和设备的发出的命令,以便控制接口和设备的动作。动作。 3、端口的识别:、端口的识别:一个外设往往有几个端口地址一个外设往往有几个端口地址CPU寻址的是端口,而不是寻址的是端口,而不是笼统的外设,不管是输入还是输出,所用到的地址都是对端笼统的外设,不管是输入还是输出,所用到的地址都是对端口而言的。口而言的。n任务任务n分组讨论:幼儿园老师要完成5个小朋友每人分3块糖,并且全部吃完的一个任务,请同学们讨论一下,有几种可行的方案?6.1.4 CPU与外设之间传送数据的方式与外设之间传送数据的方式幼儿园老师要完成5个小朋友每人分3块糖,并且全部吃完的一个任务,
13、请同学们讨论一下,有几种可行的方案?n方法方法1: 她先给孩子甲一块糖,然后再给第二块,又给第三 块。接着给孩子乙,其过程与孩子甲完全一样。依次类推,直至到 第5个孩子发完四块糖。n方法方法2: 她先给孩子甲一块糖,盯着甲吃完盯着甲吃完,然后再给第二块,等吃完第二块又给第三 块。接着给孩子乙,其过程与孩子甲完全一样。依次类推,直至到第5个孩子发完四块糖。看来这种方法效率太低,重要之点还在于孩子们吃糖时她一直在守 候,什么事也不能干。n方法方法3: 每人发一块糖各自去吃各自去吃,并约定谁吃完后就向她举手报告举手报告,再发第二块。看来这种新方法提高了工作效率,而且在未接到孩子们吃完糖的报告以前,她
14、还可以腾出时间腾出时间给孩子们改作业。但是这种方法还可以改进。n方法方法4: 进行批处理进行批处理:每人拿3块糖各自去吃,吃完3块糖后再向她报告。显然这种方法工作效率大大提高,她可以腾出更多的时间腾出更多的时间改作业。n方法方法5: 权力下放权力下放,把发糖的事交给另一个人分管另一个人分管,只是必要时她才过问一下。6.1.4 CPU与外设之间传送数据的方式与外设之间传送数据的方式1 无条件传送无条件传送2 查询传送查询传送3 中断传送中断传送4 直接存储器传送(直接存储器传送(DMA)5 通道方式通道方式 6 外围处理机方式(外围处理机方式(PPU)1、无条件传送方式(同步方式)、无条件传送方
15、式(同步方式)n1无条件传送方式(同步方式)无条件传送方式(同步方式)n如果计算机能够确信一个外设已经准备就绪,那如果计算机能够确信一个外设已经准备就绪,那就不必查询外设的状态而可直接进行信息传输,就不必查询外设的状态而可直接进行信息传输,这称为无条件传送方式。这称为无条件传送方式。n特点:特点:适用于适用于CPU与外设速度同步的情况,结构与外设速度同步的情况,结构简单,可靠性要求不高的设备,一般较少使用简单,可靠性要求不高的设备,一般较少使用三态缓三态缓冲器冲器地址译码器地址译码器数据总线数据总线地址总线地址总线数据数据来自来自外设外设IO/MRD无条件传送的输入方式无条件传送的输入方式要求
16、要求CPU在执行输入指令时,外设的数据是准备好的,在执行输入指令时,外设的数据是准备好的,即已经存放在三态缓冲器中,否则出错。即已经存放在三态缓冲器中,否则出错。dataaddress1101011要求要求CPU在执行输出指令时,确信所选中的输出锁存在执行输出指令时,确信所选中的输出锁存器是空的。器是空的。锁存器锁存器地址译码器地址译码器数据总线数据总线地址总线地址总线数据数据到外设到外设IO/MWR无条件传送的输出方式无条件传送的输出方式address11data01101返回你吃完了吗?你吃完了吗?还没有还没有吃完啦吃完啦吃完啦吃完啦吃完啦2查询查询传送方式传送方式n2查询传送方式查询传送
17、方式n查询方式:查询方式:CPU通过执行程序不断地读取并测试外通过执行程序不断地读取并测试外设的状态,如果外设处于准备好状态(输入设备)设的状态,如果外设处于准备好状态(输入设备)或空闲状态(输出设备),则或空闲状态(输出设备),则CPU执行输入指令或执行输入指令或输出指令。输出指令。n特点:特点:CPU与外设速度不同步的情况与外设速度不同步的情况。CPU在传送在传送数据之前要查询外设的相关状态。当外设满足传送数据之前要查询外设的相关状态。当外设满足传送条件时,就传送数据,否则,继续查询状态,等待条件时,就传送数据,否则,继续查询状态,等待满足条件,此时满足条件,此时CPU要占用很多时间去查询
18、外设的要占用很多时间去查询外设的状态。状态。(1)、查询式输入)、查询式输入输入状态信息输入状态信息READY?输输 入入 数数 据据NY输输入入设设备备锁存器锁存器三态缓三态缓冲器冲器缓冲器缓冲器地址译地址译码器码器数据数据去数据总线去数据总线+5VIO/MRDIO/MRDREADY地址总线地址总线DRQ选选通通状态状态信息信息数据数据查询式输入的接口电路查询式输入的接口电路接口电路中除了有传送数据的端口外,还有传送状态的端口。接口电路中除了有传送数据的端口外,还有传送状态的端口。adressdata1011110111010011 1110(2)、查询式输出)、查询式输出读状态端口读状态端
19、口BUSY?输输 出出 数数 据据准备输出数据准备输出数据YN输输出出设设备备锁存器锁存器三态三态缓冲器缓冲器地址译地址译码器码器去数据总线去数据总线+5VIO/MWD地址总线地址总线DR数据数据IO/MRD状态信息状态信息“BUSY”Q数据总线数据总线ACK选通选通信号信号“BUSY”查询输出接口电路查询输出接口电路返回3中断中断传送方式传送方式3中断传送方式中断传送方式n中断的概念:中断的概念:当输入设备将数据准备好或者输出设备可以当输入设备将数据准备好或者输出设备可以接收数据时,向接收数据时,向CPU发出中断请求,使发出中断请求,使CPU暂时停下目前暂时停下目前的工作而和外设进行一次数据
20、传输。等输入操作或输出操的工作而和外设进行一次数据传输。等输入操作或输出操作完成以后,作完成以后,CPU继续进行原来的工作。继续进行原来的工作。n特点:中断传送方式弥补了查询方式中特点:中断传送方式弥补了查询方式中CPU要占用很多时要占用很多时间去查询状态的不足,实现了间去查询状态的不足,实现了CPU与外设的同步操作与外设的同步操作。CPU进行进行I/O操作之后,就去执行其他程序;外设完成操作,操作之后,就去执行其他程序;外设完成操作,向向CPU发出中断请求,使发出中断请求,使CPU进入中断处理程序,接收外进入中断处理程序,接收外设传送的数据或启动下一次设传送的数据或启动下一次I/O操作。处理
21、完本次中断后,操作。处理完本次中断后,CPU继续执行进入中断前的程序。显然,继续执行进入中断前的程序。显然,CPU与外设是并与外设是并行工作的,在这种方式下,行工作的,在这种方式下,CPU的工作效率很高,并可使的工作效率很高,并可使多台外设与多台外设与CPU并行工作。并行工作。:::现行程序现行程序:::A:B:中断服务程序中断服务程序入口入口地址地址3、中断、中断传送方式传送方式随机产生的中断申请随机产生的中断申请堆栈堆栈输输入入设设备备锁存器锁存器三态缓三态缓冲器冲器数据数据去数据总线去数据总线+5VIO/MRDDRQ选选通通数据数据装置中断允许装置中断允许三态缓冲器三态缓冲器中断矢量中断
22、矢量去数据总线去数据总线INTA(中断响应信号)(中断响应信号)地址译地址译码器码器地址总线地址总线INTR中断传送方式的接口电路中断传送方式的接口电路返回4、直接存储器传送方式、直接存储器传送方式4直接存储器传送方式(直接存储器传送方式(DMA :Direct Memory Access )n问题:问题:无条件方式、查询方式和中断方式下,都无条件方式、查询方式和中断方式下,都是通过是通过CPU执行指令来实现主机和外设的传输,执行指令来实现主机和外设的传输,每一条指令要有取指和执行时间,通常传送一个每一条指令要有取指和执行时间,通常传送一个字节需要几十到几百微秒,这对于高速的字节需要几十到几百
23、微秒,这对于高速的I/O设备设备来讲,显得速度太慢了。来讲,显得速度太慢了。n解决办法:解决办法:在在DMA方式下,外部设备利用专用的方式下,外部设备利用专用的接口电路直接和存储器进行高速的数据传送,而接口电路直接和存储器进行高速的数据传送,而并不经过并不经过CPU。n4直接存储器传送(直接存储器传送(DMA)方式)方式n特点:特点:DMA方式适用于高速方式适用于高速I/O设备设备。通过。通过DMA硬件控制,直接在外设与存储器之间交换数据。硬件控制,直接在外设与存储器之间交换数据。在在DMA方式下,方式下,CPU让出总线控制权,使外设让出总线控制权,使外设与存储器在很短的时间内成批交换数据。当
24、数据与存储器在很短的时间内成批交换数据。当数据交换完成后,交换完成后,CPU收回总线控制权。收回总线控制权。nDMA实现方法:实现方法:在利用在利用DMA方式进行数据传送方式进行数据传送时,要利用系统的数据总线、地址总线和控制总时,要利用系统的数据总线、地址总线和控制总线。在用线。在用DMA方式进行数据传输时,接口电路要方式进行数据传输时,接口电路要向向CPU发出请求,使发出请求,使CPU让出总线,把总线控制让出总线,把总线控制权交给权交给DMA传输的接口电路(传输的接口电路(DMA控制器)。控制器)。数据数据端口端口状态状态/控制控制端口端口地址寄存器地址寄存器计数器计数器状态状态/控制寄存
25、器控制寄存器DMA控制器控制器CPU存存储储器器数据缓数据缓寄存器寄存器DMA请求触请求触发器发器输入设备输入设备READYDMA请求请求DMA响应响应HOLDHLDA4、直接存储器传送(、直接存储器传送(DMA)方式)方式data1data111 1data2+1-1(一)(一)DMA操作的基本方法操作的基本方法2、周期挪用:把、周期挪用:把CPU不访问存储器的那些周期不访问存储器的那些周期“挪用挪用”来进行来进行DMA操作。操作。3、周期扩展:、周期扩展:CUP与与DMA交替访问存储器。即轮流交替访问存储器。即轮流使用总线,不需要总线的申请、建立和释放过程。使用总线,不需要总线的申请、建立
26、和释放过程。1、CPU停机方式:最常用也是最简单的一种停机方式:最常用也是最简单的一种DMA方式。方式。(二)(二)DMA控制器的基本功能控制器的基本功能1、能接收外设的请求,向、能接收外设的请求,向CPU发出发出DMA请求信号。请求信号。2、当、当CPU发出发出DMA响应信号后,接管对总线的控制,响应信号后,接管对总线的控制,进入进入DMA方式。方式。3、能输出地址信息和修改地址信息。、能输出地址信息和修改地址信息。4、能向存储器和外设发出相应的读、能向存储器和外设发出相应的读/写信号。写信号。5、能控制传送的字节数,判断、能控制传送的字节数,判断DMA传送是否结束。传送是否结束。6、在、在
27、DMA传送结束时,能结束传送结束时,能结束DMA请求信号,释放请求信号,释放总线,把总线控制权还给总线,把总线控制权还给CPU。(三)(三)DMA传送方式传送方式1、单字节方式:每次、单字节方式:每次DMA请求只传送一个字节数据,请求只传送一个字节数据,每传送完一个字节,都撤除每传送完一个字节,都撤除DMA请求信号释放总线。请求信号释放总线。2、字节传方式:每次、字节传方式:每次DMA请求连续传送一个数据块,请求连续传送一个数据块,待规定长度的数据块传送完后才撤除待规定长度的数据块传送完后才撤除DMA请求信号释请求信号释放总线。放总线。返回吃完了吗?正吃着呢吃完了5通道方式及外围处理机方式通道
28、方式及外围处理机方式n5通道方式通道方式nDMA的不足之处:的不足之处:计算机中连接着许多输入输出设计算机中连接着许多输入输出设备,其中包括字设备和块设备。备,其中包括字设备和块设备。 为每一个设备都配为每一个设备都配置一个专用的置一个专用的DMA控制器是不经济的。控制器是不经济的。 而且多个而且多个DMA的并行工作还会使存储器的访问发生冲突。的并行工作还会使存储器的访问发生冲突。 因而必须在多个设备之间共享因而必须在多个设备之间共享DMA控制器,这样就控制器,这样就形成了输入输出通道的概念。形成了输入输出通道的概念。n通道是一个具有输入输出处理器控制的输入输出部通道是一个具有输入输出处理器控
29、制的输入输出部件。通道控制器有自己的指令,即通道命令,能够件。通道控制器有自己的指令,即通道命令,能够根据程序控制多个外部设备并提供了根据程序控制多个外部设备并提供了DMA共享的功共享的功能,而能,而DMA只能进行固定的数据传输操作。大大提只能进行固定的数据传输操作。大大提高了高了CPU的工作效率。然而这种提高的工作效率。然而这种提高CPU效率的办效率的办法是以花费更多硬件为代价的法是以花费更多硬件为代价的n5通道方式通道方式(channel)nCPU与通道并行工作,由通道实现在存储器与通道并行工作,由通道实现在存储器与外设间数据转换与传送。与外设间数据转换与传送。nI/O通道是一种特殊的处理
30、机,它具有执行通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道(指令的能力,并通过执行通道(I/O)程序来)程序来控制控制I/O操作。通道只能执行与操作。通道只能执行与I/O操作有关的操作有关的指令,其指令类型单一;通道指令,其指令类型单一;通道没有没有自己的自己的内内存存,即通道与,即通道与CPU共享内存。共享内存。在大、中型和高档小型计算机系统中,大多采用通道技术在大、中型和高档小型计算机系统中,大多采用通道技术通道方式通道方式n6外围处理机外围处理机(PPU)式式n概念:概念:PPU方式是通道方式的进一步发展。由于方式是通道方式的进一步发展。由于PPU基基本上独立于主机
31、工作,它的结构更接近一般处理机,甚本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计算机。在一些系统中,设置了多台至就是微小型计算机。在一些系统中,设置了多台PPU,分别承担分别承担I/O控制、通信、维护诊断等任务。控制、通信、维护诊断等任务。n特点:特点:从某种意义上说,这种系统已变成分布式的多机从某种意义上说,这种系统已变成分布式的多机系统。华为系统。华为softX3000采用了采用了PPU技术技术返回无条件无条件传输方式传输方式6.2 中断中断本节重点:本节重点:n中断中涉及到的基本概念进行介绍,包括中中断中涉及到的基本概念进行介绍,包括中断的分类,中断向量表的作用,中断是如
32、何断的分类,中断向量表的作用,中断是如何处理的和各中断的优先级等。处理的和各中断的优先级等。6.2 中断中断n6.2.1中断的有关概念中断的有关概念 因某个事件的发生,使因某个事件的发生,使CPU暂时中止现行程暂时中止现行程序的执行,自动转去执行处理该事件的子程序的执行,自动转去执行处理该事件的子程序;处理结束后,又自动返回到被中断程序序;处理结束后,又自动返回到被中断程序的断点处继续执行后续指令,这个过程称为的断点处继续执行后续指令,这个过程称为中断中断。 现行程序现行程序:::A:B:::中断服务程序中断服务程序随机产生的申请随机产生的申请处理结束,返回断点处理结束,返回断点入口地址入口地
33、址6.2.2IBM-PC的中断源及其优先级的中断源及其优先级1、中断源、中断源引起中断的事件称为引起中断的事件称为中断源中断源。中断源可能来自外设的输。中断源可能来自外设的输入输出请求,也可能是计算机的一些异常故障或其他内入输出请求,也可能是计算机的一些异常故障或其他内部原因。部原因。8086中断分类:中断分类:不可屏蔽中断不可屏蔽中断NMI外部中断外部中断可屏蔽中断可屏蔽中断INTR中断源中断源除法错除法错内部中断内部中断 溢出中断溢出中断 软中断软中断 单步中断单步中断IR0IR1 IR2IR3 NMI 中断控制器8259 CPU 系统定时器系统定时器INTR 键盘键盘 图形接口图形接口
34、保留保留 串行接口串行接口 保留保留 软盘软盘 打印机打印机 中断逻辑中断逻辑INT n指令指令INTO指令指令除 法除 法错误错误单步单步TF=1IR0IR1 IR2IR3IR4IR5IR6IR72、中断源示意图、中断源示意图1.4 8086CPU的外部引脚特性 GNDINTRNMICLKGND19INTA( QS1)TESTREADYRESET2 391 403 384 375 366 357 348 339 3210 3111 3012 2913 2814 2715 2616 2517 2418 2319 2220 21AD14AD11AD10AD9AD8AD7AD6AD5AD4AD3A
35、D2AD1AD0RDMN/MXHOLD(RQ/GT0)BHE/S6AA17/S4A18/S5/SA16/S3AD15)VCC(+5VM/IO(S2)WR(LOCK)HLDA(RQ/GT1)DT/R( S1)DEN( S0)ALE( QS0)AD1213AD8086CPU引脚图 IR0IR1IR2IR3IR4IR5IR6IR7除法错除法错INTOINT n中断类型中断类型优先级优先级内部中断内部中断 高高 NMI INTR单步中断单步中断 低低6.2.2 6.2.2 中断优先级中断优先级 80868088系统的中断优先级别是这样确定的,其由高到低的顺序为:除法错、INTn、INTONMIINTR
36、单步 级连电路连接方法6.2.3 6.2.3 中断矢量(向量)表中断矢量(向量)表 每个中断源都对应一个中断处理程序,每个中断处理程序的起始每个中断源都对应一个中断处理程序,每个中断处理程序的起始地址称为地址称为中断入口地址中断入口地址。系统将各个中断处理程序的入口地址放。系统将各个中断处理程序的入口地址放在一起形成一个地址表,称为在一起形成一个地址表,称为中断矢量(向量)表。中断矢量(向量)表。现行程序现行程序:::A:B:::中断服务程序中断服务程序随机产生的申请随机产生的申请处理结束,返回断点处理结束,返回断点入口地址入口地址中断指令:中断指令: 类型类型0的的(IP) 类型类型0的的(
37、CS) 类型类型1的的(IP) 类型类型1的的(CS) 类型类型N的的(IP) 类型类型N的的(CS) 类型类型255的的(IP) 类型类型255的的(CS)0000000004 4*N003FC中断向量表中断向量表中断向量:中断向量:中断例行程序的入口地址,中断例行程序的入口地址,存放于中断向量区。存放于中断向量区。 00000H003FFHA0000HC0000HF0000H640K (RAM)640K (RAM)128K (RAM)128K (RAM)192K (ROM)192K (ROM) 64K (ROM) 64K (ROM)8086中断类型号及中断名称表中断类型号及中断名称表中断类
38、型号中断类型号名称名称 中断类型号中断类型号名称名称 0除法错除法错 0EH软盘中断软盘中断 1单步中断单步中断 0FH打印机中断打印机中断 2 NMI 10H显示器驱动程序显示器驱动程序 3断点中断断点中断 11H设备测试程序设备测试程序 4溢出中断溢出中断 12H内存容量判断内存容量判断 5屏幕打印屏幕打印 13H软盘驱动程序软盘驱动程序 6 7(保留)(保留) 14H通讯驱动程序通讯驱动程序 8时钟中断时钟中断 15H盒式带驱动程序盒式带驱动程序 9键盘中断键盘中断 16H键盘驱动程序键盘驱动程序 0AH彩色图象接口彩色图象接口 17H打印机驱动程序打印机驱动程序 0BH同步通讯中断同步
39、通讯中断 0CH异步通讯中断异步通讯中断 0DH硬盘中断硬盘中断 21HDOS中断中断中断指令:中断指令: INT TYPE 或或 INT执行操作:执行操作: (SP) (SP) - 2 ( (SP)+1,(SP) ) (FLAGS) (SP) (SP) - 2 ( (SP)+1,(SP) ) (CS) (SP) (SP) - 2 ( (SP)+1,(SP) ) (IP) (IP) (TYPE*4) (CS) (TYPE*4+2)溢出中断指令:溢出中断指令:INTO执行操作:执行操作: 若若OF=1, (IP) (10H) (CS) (12H)6.2.4 软中断及有关中断指令软中断及有关中断指
40、令从中断返回指令:从中断返回指令:IRET执行操作:执行操作: (IP) ( (SP)+1,(SP) ) (SP) (SP) + 2 (CS) ( (SP)+1,(SP) ) (SP) (SP) + 2 (FLAGS) ( (SP)+1,(SP) ) (SP) (SP) + 2 注意:注意:* TYPE (0255) 是中断类型号是中断类型号, 隐含的类型号为隐含的类型号为3* INT 指令还把指令还把 IF 和和 TF 置置0,但不影响其它标志位,但不影响其它标志位* IRET 指令执行完,标志位由堆栈中取出的值确定指令执行完,标志位由堆栈中取出的值确定6.2.5 中断过程:中断过程:一、中
41、断发生时,硬件自动完成的动作如下:一、中断发生时,硬件自动完成的动作如下:(1) 取中断类型号取中断类型号n;(2) 标志寄存器(标志寄存器(PSW)内容压栈;)内容压栈;(3) 当前代码段寄存器(当前代码段寄存器(CS)的内容压栈;)的内容压栈;(4) 当前指令指针(当前指令指针(IP)内容压栈;)内容压栈;(5) 禁止外部中断和单步中断(置禁止外部中断和单步中断(置IF=0, TF=0);(6) 从中断向量表中取从中断向量表中取4 X n地址的内容送地址的内容送IP,取,取4 X n + 2地址的内容送地址的内容送CS;(7) 转中断处理程序。转中断处理程序。保存保存PSW,是为了中断返回
42、时,保证被中断程序工作的,是为了中断返回时,保证被中断程序工作的连续性和正确性。禁止外部中断和单步中断,是为了使连续性和正确性。禁止外部中断和单步中断,是为了使CPU在处理当前中断时,不再响应响应其他的中断。在处理当前中断时,不再响应响应其他的中断。如如果允许果允许CPU响应别的中断,可用响应别的中断,可用STI指令将指令将IF置置1。二、中断程序的编写二、中断程序的编写利用中断向量表中保留的中断类型号,可以编写自己的中断利用中断向量表中保留的中断类型号,可以编写自己的中断处理程序。处理程序。1外部(硬)中断处理程序外部(硬)中断处理程序根据外中断根据外中断随机发生随机发生的特点,外中断处理程
43、序设计的主要步的特点,外中断处理程序设计的主要步骤:骤:(1) 保护现场。保护现场。(2) 尽快完成中断处理,以免影响其他的中断请求。尽快完成中断处理,以免影响其他的中断请求。(3) 恢复现场。恢复现场。(4) 中断返回,用中断返回,用IRET指令返回。指令返回。2.内部(软)中断处理程序内部(软)中断处理程序软中断虽是不可屏蔽的,但不会随机发生,只在软中断虽是不可屏蔽的,但不会随机发生,只在CPU执行执行INT n指令后,才会发生。与子程序相似,但并不等同于指令后,才会发生。与子程序相似,但并不等同于子程序。子程序。软中断处理程序设计的主要步骤:软中断处理程序设计的主要步骤:(1) 考虑切换
44、堆栈,软中断处理的情况可能较复杂,会考虑切换堆栈,软中断处理的情况可能较复杂,会占用大量的堆栈空间。占用大量的堆栈空间。(2) 及时开中断。及时开中断。(3) 保护现场。保护现场。(4) 完成中断处理。完成中断处理。(5) 恢复现场。恢复现场。(6) 切换堆栈,如果在开始时切换了堆栈,就切换回来。切换堆栈,如果在开始时切换了堆栈,就切换回来。(7) 中断返回。中断返回。关中断关中断开中断开中断关中断关中断开中断开中断保存断点、现场保存断点、现场判断中断条件,判断中断条件,转入中断服务程序转入中断服务程序执行中断服务程序执行中断服务程序恢复中断,现场恢复中断,现场执行原有程序执行原有程序外部设备
45、发出外部设备发出中断申请中断申请IF=1YN不响应不响应自动自动自动自动1设置和获取中断向量设置和获取中断向量(1) 设置中断向量设置中断向量设置中断向量的两种方法:直接写入法和设置中断向量的两种方法:直接写入法和DOS调用调用直接写入法举例:直接写入法举例:MOVAX,0MOVDS,AX;定位物理地址;定位物理地址0:0MOVBX,n*4;设置;设置n号中断向量号中断向量CLI;关中断关中断MOVWORD PTRBX,OFFSET INTHANDMOVWORD PTRBX+2,SEG INTHANDSTI;开中断开中断 25H号号DOS功能调用:功能调用:入口参数:入口参数:(AH) = 2
46、5H;(AL) = 中断类型号;中断类型号;(DS:DX)= 中断向量中断向量功能:将指定的中断向量写入中断向量表功能:将指定的中断向量写入中断向量表DOS调用法举例:调用法举例:INTHAND:MOVAX,SEG INTHANDMOVDS,AXMOVDX,OFFSETINTHANDMOVAH,25HMOVAL,nINT21H(1) 获取中断向量获取中断向量获取中断向量的两种方法:直接读取法和获取中断向量的两种方法:直接读取法和DOS调用法调用法直接读取法举例:直接读取法举例:MOVAX,0MOVES,AX;物理地址定位物理地址定位MOVAX,ES:n*4;取;取IPMOVWORD PTR O
47、LDVECTOR,AX;保存原向量保存原向量MOVAX,ES:n*4+2 ;取;取CSMOVWORD PTR OLDVECTOR+2,AX 35H号号DOS功能调用:功能调用:入口参数:入口参数:(AH) = 35H;(AL) = 中断类型号;中断类型号;出口参数:出口参数:(ES)=读取的中断向量的段地址。读取的中断向量的段地址。(BX)=读取的中断向量的偏移地址。读取的中断向量的偏移地址。功能:读取指定中断的中断向量功能:读取指定中断的中断向量 DOS调用法举例:调用法举例:MOVAH,35HMOVAL,nINT21HMOVWORD PTR OLDVECTOR+2,ES;保存原向保存原向量
48、量MOVWORD PTR OLDVECTOR,BX例:利用例:利用DOS保留的空中断类型号保留的空中断类型号45H作为新增加的软中断类型号,作为新增加的软中断类型号,其功能是将其功能是将AX中的十六位无符号二进制数以四位十六进制形式在中的十六位无符号二进制数以四位十六进制形式在显示器输出,其参数如下:显示器输出,其参数如下:入口参数:入口参数:AX中是待显示的无符号二进制数。中是待显示的无符号二进制数。出口参数:对应的十六进制数已在显示器输出。出口参数:对应的十六进制数已在显示器输出。45H软中断处理程序名:软中断处理程序名:INTR45;设置和调用设置和调用45H号软中断的程序:号软中断的程
49、序:T-INT45;主程序如下:;主程序如下:NAMET-INT45STACKSEGMENTSTACKDB200 DUP(0)STACKENDSDATASEGMENTDATBUFDW1234H,5678H,9ABCH,0EFFFHDW8000H,0,0AH,0DH,0FHN=($-DATBUF) / 2DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKEXTRNINTR45:FARBEGIN:MOVAX,SEG INTR45MOVDS,AXMOVDX,OFFSETINTR45 ;设置中断向量设置中断向量MOVAX,2545HINT21HMOVAX
50、,DATAMOVDS,AX ;设置当前数据段设置当前数据段LEASI,DATBUFMOVCX,N LOPA:MOVAX,SI;准备入口条件准备入口条件INT45HMOVAH,2MOVDL, INT21HADDSI,2LOOPLOPAMOVAH,4CHINT21HCODEENDSENDBEGIN ;45H软中断处理处理程序软中断处理处理程序NAMEINTR45STACKSEGMENTSTACKDB200 DUP(0)STACKENDSDATASEGMENTTABDB0123456789ABCDEFBUFDB4 DUP(0), H$DATAENDSCODESEGMENTASSUMECS:CODE,
51、DS:DATA,SS:STACKPUBLICINTR45INTR45PROCFARPUSHBXPUSHCX ;保护现场保护现场PUSHSIPUSHDSMOVBX,DATAMOVDS,BXLEASI,BUFLEABX,TABMOVCH,4MOVCL,4LOPA:ROLAX,CLPUSHAXANDAX,0FHXLATMOVSI,ALINCSIPOPAXDECCHJNELOPAMOVAH,9LEADX,BUFINT21HPOPDSPOPSI ; 恢复现场恢复现场POPCXPOPBXIRET;中断返回中断返回INTR45ENDPCODEENDSEND ;执行结果:执行结果:1234H 5678H 9A
52、BCH EFFFH 8000H 0000H 000AH 000DH 000FH 6.4BIOS中断调用中断调用 一、一、BIOS概述概述BIOS (Basic Input/Output System)是固化在是固化在ROM中的中的程序,包含主要的程序,包含主要的I/O设备的驱动程序和许多常用的例设备的驱动程序和许多常用的例行程序,它们一般以中断程序的形式存在。程序员不必行程序,它们一般以中断程序的形式存在。程序员不必知道外部设备的物理特性和逻辑结构细节(端口地址、知道外部设备的物理特性和逻辑结构细节(端口地址、命令及状态格式等),也可以控制各种输入输出操作。命令及状态格式等),也可以控制各种输
53、入输出操作。如:如:INT10H为显示器驱动;为显示器驱动;INT17H为打印机为打印机驱动等。驱动等。BIOS程序直接建立在硬件基础上,程序直接建立在硬件基础上,DOS则建则建立在立在BIOS基础上。基础上。6.4BIOS中断调用中断调用 DOS / WINDOWSBIOSHARDWARE二、二、 BIOS中断的特点中断的特点通常应用程序可以调用通常应用程序可以调用DOS提供的系统调用,完成输提供的系统调用,完成输入入/输出操作或其输出操作或其他操作,而不必过多的考虑外设的他操作,而不必过多的考虑外设的具体的物理特性和逻辑结构细节(既少考虑硬件),具体的物理特性和逻辑结构细节(既少考虑硬件)
54、,实现起来相对容易。实现起来相对容易。 与与DOS的功能调用相比,的功能调用相比,BIOS调用能完成更复杂的输入调用能完成更复杂的输入/输出操作,其输出操作,其效率高效率高的优的优点和点和编程相对复杂编程相对复杂的缺点都显而易见。的缺点都显而易见。在下列情况下,可以考虑使用在下列情况下,可以考虑使用BIOS中断:中断:(1)有些功能)有些功能DOS没有提供。没有提供。(2)在有些无法使用)在有些无法使用DOS功能调用的场合。功能调用的场合。(3)其他原因。)其他原因。 注意:注意:BIOS中断调用不保护中断调用不保护AX寄存器,如果主程序寄存器,如果主程序使用了使用了AX寄存器,在进行寄存器,
55、在进行BIOS调用的前后要对调用的前后要对AX寄存器进行保护和恢复。寄存器进行保护和恢复。三、常用的三、常用的BIOS中断调用中断调用BIOS中断调用方法:中断调用方法:设置入口参数;设置入口参数;使用中断指令使用中断指令INT n ,其中,其中n为中断类型号。为中断类型号。当某一当某一BIOS程序具有多个功能时,程序具有多个功能时,AH中存放子功能号。中存放子功能号。 (一)、显示器(一)、显示器I/O中断调用(中断类型号:中断调用(中断类型号:10H)BIOS中显示驱动的中断类型号为中显示驱动的中断类型号为10H,有,有16种子功能。软中断种子功能。软中断指令指令“INT10H”实现其功能
56、调用。实现其功能调用。1、设置显示方式(功能号、设置显示方式(功能号0)入口参数:入口参数:(AH) = 0, (AL) = 模式模式(0 7) (AL) = 0,40 X 25 B/W文本方式文本方式= 1,40 X 25 COLOR文本方式文本方式= 2,80 X 25 B/W文本方式文本方式= 3,80 X 25 COLOR文本方式文本方式= 4,320 X 200 B/W图形方式图形方式= 5,320 X 200 COLOR图形方式图形方式= 6,640X 200 B/W图形方式图形方式= 7,80 X 25 B/W文本方式文本方式(单显板单显板)出口参数:无出口参数:无 IBM-PC
57、的标准显示器接口板有两种:单色显示器和并行打印机接的标准显示器接口板有两种:单色显示器和并行打印机接口板,能显示黑白字母、数字及方块图形字符,即以文本方式工作;口板,能显示黑白字母、数字及方块图形字符,即以文本方式工作;彩色、图形监视器接口板,可以以黑白或彩色文本方式或图形方式彩色、图形监视器接口板,可以以黑白或彩色文本方式或图形方式工作。工作。2、设置光标大小(功能号、设置光标大小(功能号1)入口参数:入口参数:(AH) = 1(CH)= 光标顶值光标顶值(0 11)(CL) = 光标底值光标底值(1 12) 出口参数:无出口参数:无 3、设置光标位置(功能号、设置光标位置(功能号2)入口参
58、数:入口参数:(AH) = 2(BH)= 页号页号(0)(DH) = 行号行号(DL) = 列号列号 出口参数:无出口参数:无4、屏幕上滚(功能号、屏幕上滚(功能号6)入口参数:入口参数:(AH) =6(AL)= 上滚行数上滚行数(CX) = 上滚部分左上角的行、列号上滚部分左上角的行、列号(DX) = 上滚部分右下角的行、列号上滚部分右下角的行、列号(BH) = 显示属性显示属性出口参数:无出口参数:无5、屏幕下滚(功能号、屏幕下滚(功能号7)入口参数:入口参数:(AH) = 7(AL)= 下滚行数下滚行数(CX) = 下滚部分左上角的行、列号下滚部分左上角的行、列号(DX) = 下滚部分右
59、下角的行、列号下滚部分右下角的行、列号(BH) = 显示属性显示属性出口参数:无出口参数:无 6、在当前光标位置写字符和属性(功能号、在当前光标位置写字符和属性(功能号9)入口参数:入口参数:(AH) = 9(AL)= 要写的要写的ASCII码字符码字符(BL) = 属性值属性值(CX) = 重复次数重复次数(BH) = 页号页号出口参数:无出口参数:无7、在当前光标位置写字符(属性不变)(功能号、在当前光标位置写字符(属性不变)(功能号0AH)入口参数:入口参数:(AH) = OAH(AL)= 要写的要写的ASCII码字符码字符(CX) = 重复次数重复次数(BH) = 页号页号8、设置彩色
60、组或背景颜色(功能号、设置彩色组或背景颜色(功能号0BH)入口参数:入口参数:(AH) = OBH(BH) = 0 设置背景色;设置背景色;1 设置彩色组设置彩色组 (BL) = 背景色背景色(0 15);彩色组;彩色组(0 1)其中:彩色组其中:彩色组0:绿:绿/红红/黄;彩色组黄;彩色组1:青:青/品红品红/白白 9、写点(功能号、写点(功能号0CH)入口参数:入口参数:(AH) = 0CH(AL)= 彩色值(若彩色值(若AL的位的位7为为1,则新的彩色值与当前,则新的彩色值与当前彩色值作按位加运算)彩色值作按位加运算)(CX) = 列号列号(DX) = 行号行号出口参数:无出口参数:无1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44891-2024法人和其他组织统一社会信用代码数据服务平台建设规范
- 冰淇淋膨胀率的测定李轲21课件
- 0102民法基本原则的作用62课件
- 风景园林基础考研资料试题及答案详解【名师系列】
- 《风景园林招投标与概预算》试题A附答案详解(达标题)
- 2023国家能源投资集团有限责任公司第一批社会招聘笔试备考试题及答案详解(夺冠系列)
- 2025年河北省定州市辅警招聘考试试题题库及一套完整答案详解
- 2025年K2教育中STEM课程实施与效果评估:创新教育理念
- 语文(湖北卷)2025年中考考前押题最后一卷
- 七年级下册语文第四单元专题学习活动《孝亲敬老传承家风》经典课件
- 生命科学简史智慧树知到期末考试答案章节答案2024年中国科学技术大学
- 24春国家开放大学《土地资源学》形考作业1-4参考答案
- 电梯突发事件应急演练
- 人教版八年级数学下册期末试卷培优测试卷
- 2024土地代耕代种协议书
- (2024年)肺栓塞的护理课件
- 《水电工程岩爆风险评估技术规范》(NB-T 10143-2019)
- 刑事书记员培训课件
- 预防术中低体温Pdca 课件
- 胃癌诊疗指南(2022年版)
- 西餐厅筹备计划书
评论
0/150
提交评论