书签 分享 收藏 举报 版权申诉 / 96
上传文档赚钱

类型《计算机原理与汇编语言程序设计》课件第10章.ppt

  • 上传人(卖家):momomo
  • 文档编号:7806348
  • 上传时间:2024-08-21
  • 格式:PPT
  • 页数:96
  • 大小:916.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《计算机原理与汇编语言程序设计》课件第10章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    计算机原理与汇编语言程序设计 计算机 原理 汇编语言 程序设计 课件 10
    资源描述:

    1、第第1010章章 输入输入/输出系统输出系统第第1010章章 输入输入/输出系统输出系统10.1 概述概述 10.2 程序查询传送方式程序查询传送方式 10.3 程序中断传送方式程序中断传送方式 10.4 8086 CPU的中断的中断 10.5 直接存储器存取直接存储器存取(DMA)方式方式 10.6 通道控制方式通道控制方式 习题习题 第第1010章章 输入输入/输出系统输出系统10.1 概概 述述计算机与人之间的交流是通过输入/输出(I/O)设备来实现的。输入/输出设备也被称为外部设备(外设),是计算机系统的一个重要组成部分。在计算机系统中,常用的外设有键盘、鼠标、打印机、显示器、扫描仪等

    2、,还有一些其他的专用设备。计算机中的内存和CPU都是半导体器件,工作原理和速度相当,所以它们之间可以直接相连。而外部设备则种类繁多,各类外部设备不仅结构和工作原理不同,而且与主机的连接方式也可能完全不同。为了方便地将主机与各种外设连接起来,需要在CPU与外设之间使用一个特殊的连接电路作为CPU与外设交换信息的转换器,称为输入/输出接口(I/O接口),简称接口。主机与外设之间存在以下主要差异:第第1010章章 输入输入/输出系统输出系统(1)CPU和I/O设备所采用的数据格式、传送方式不一样。CPU处理的是数字信息,外设处理的信息有数字信号、模拟信号、开关信号、电压信号或电流信号等。CPU使用的

    3、是并行数据,外设使用的既有串行数据也有并行数据。(2)CPU和I/O设备信号传输处理的速度不匹配。CPU是高速设备,外设有的速度很慢,有的速度很快,不同的外围设备处理信息的速度相差悬殊。(3)CPU和I/O设备的工作时序不同。CPU和I/O设备没有使用统一的时序系统,CPU与外设两者的信号线不兼容,在信号线功能定义、逻辑定义和时序关系上都不一致。(4)CPU和I/O设备的电器特性(如电平的极性和电平的高低等)有差别。第第1010章章 输入输入/输出系统输出系统设置I/O接口的主要目的就是解决主机和外设之间的这些差异:I/O接口一方面应该负责接收、转换、解释并执行CPU发来的命令,另一方面应能将

    4、外设的状态或请求传送给CPU,从而完成CPU与外设之间的数据传输。输入/输出系统通常包括输入/输出设备、输入/输出接口和同输入/输出操作有关的软硬件。10.1.1 接口的功能接口的功能接口电路是计算机系统的重要组成部分,由于外设不同,接口电路的功能也不一样,一般接口电路应具有以下功能。1.数据缓冲功能数据缓冲功能外部设备种类繁多,速度不一,与CPU速度相差很大,可通过接口实现数据缓冲,达到速度匹配。第第1010章章 输入输入/输出系统输出系统接口电路中一般都设置有数据寄存器或锁存器数据口,以解决高速的主机与低速的外设之间的速度匹配问题,避免因主机与外设的速度不匹配而丢失数据。2.通信联络、控制

    5、功能通信联络、控制功能外部设备要把工作状态告知CPU,可通过接口提供外设的状态信息,供CPU查询;CPU要对外设进行控制操作,可通过接口送出控制命令。接口中一般都设置状态寄存器,称“状态口”。状态信号以状态代码形式存放在接口电路的状态寄存器中。CPU从状态口读取状态信息,供CPU作出判断与处理。接口电路在执行命令之前、执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,包括正常工作状态和故障状态。第第1010章章 输入输入/输出系统输出系统CPU对外设的控制命令一般以代码形式输出到接口电路的控制端口,接口电路对命令代码进行识别、分析,分解成若干控制信号,传送到I/O设备,并产生

    6、相应的具体操作。3.地址译码和端口读写功能地址译码和端口读写功能微机系统中常有多个外设,而CPU在任一时刻只能与一个端口交换信息,因此需要通过接口的地址译码电路对端口进行寻址。4.数据宽度与数据格式转换功能数据宽度与数据格式转换功能外设所提供的数据、状态和控制信号格式可能与计算机的不同,通过接口可以实现外设与计算机之间各种数据格式的转换。外设与微机的总线信号不兼容,所以接口电路应进行相应的信号转换。CPU所处理的是并行数据,而有的外设只能处理串行数据,接口应具有数据“并串”、“串并”的转换能力。第第1010章章 输入输入/输出系统输出系统5.时序控制功能时序控制功能不同的外设工作时序不同,可通

    7、过接口电路满足计算机和外设在时序方面的要求。6.中断管理功能中断管理功能 当外设需要及时得到CPU的服务,特别是出现故障需要CPU立即处理时,就要求接口中设置中断控制器,以便于CPU处理有关中断事务(如中断请求、中断优先级排队、提供中断向量等)。7可编程功能可编程功能由于I/O接口电路大多由可编程接口芯片组成,因此就有可能在不改变硬件电路的情况下,只要修改接口驱动程序就可以改变接口的工作方式,提高了接口的灵活性和可扩充性,使接口向智能化方向发展。第第1010章章 输入输入/输出系统输出系统10.1.2 I/O接口的基本结构接口的基本结构I/O接口电路的典型结构如图10-1所示。外设接口是CPU

    8、与外设之间传送信息的一个连接部件,因此其外部引脚应分别满足CPU的总线结构和外设的总线结构。从图10-1中可以看到,接口电路面向CPU的一边一般表现为三总线结构;接口电路面向外设的一边随外设的不同而提供不同的信号,一般把这些信号分为数据信号、状态信号和控制信号三类。从I/O的接口可以看出,I/O接口中可能存在三种信息,即数据信息、状态信息和控制信息。第第1010章章 输入输入/输出系统输出系统图10-1 I/O接口电路的典型结构 第第1010章章 输入输入/输出系统输出系统1.数据信息数据信息数据信息是可以通过输入/输出设备送到计算机的原始数据,也可以是经过计算机处理后送往输出设备的结果数据。

    9、CPU与外设交换的数据信息将在I/O接口中被缓冲或锁存。这些数据信息可能以以下几种形式出现:(1)数字量:二进制数以及ASCII码形式的数据信息。(2)开关量:用“0”和“1”来表示两种状态,如开关的通/断、电机的转/停、阀门的开/关等。(3)模拟量:模拟的电压、电流或者非电量。一般接口会对电模拟量进行A/D或D/A转换后再完成CPU与外设之间的数据传送。第第1010章章 输入输入/输出系统输出系统2.状态信息状态信息CPU在传送数据信息之前,经常需要先了解外设当前的状态。如输入设备的数据是否准备好、输出设备是否忙等。用于表征外设工作状态的信息就叫做状态信息,它总是通过I/O接口输入给CPU。

    10、状态信息的长度不定,可能是1个或几个位;含义也随外设的不同而不同。常见的状态信息用来表示数据是否准备好、设备是否忙等。3.控制信息控制信息控制信息是由CPU发出的,用于控制外设的工作,比如外设启动和停止的命令、输入/输出的控制、中断的开放和禁止等。控制信息总是由CPU通过接口发出。第第1010章章 输入输入/输出系统输出系统数据信息、状态信息和控制信息通常都是以数据形式通过数据总线同CPU进行交换的。这些信息分别存放在外设接口的不同类型的寄存器中。CPU同外设之间的信息传送实质上是对这些寄存器进行“读”或“写”操作。接口中这些可以由CPU进行读或写的寄存器被称为“端口”(Port)。按存放信息

    11、的类型,这些端口可分为“数据口”、“状态口”和“控制口”,分别存放数据信息、状态信息和控制信息。在一个外设接口中往往需要有几个端口才能满足和协调外设工作的要求。CPU通过访问这些端口来了解外设的状态,控制外设的工作,以及同外设之间进行数据传输。第第1010章章 输入输入/输出系统输出系统要特别注意的是,接口(Interface)和端口(Port)是两个不同的概念。端口是指接口电路中的一些寄存器,这些寄存器分别用来存放数据信息、控制信息和状态信息,相应的就是数据端口、控制端口和状态端口。若干个端口加上相应的控制逻辑才能组成接口。CPU通过输入指令从端口读入信息,通过输出指令可将信息写入到端口中。

    12、10.1.3 端口的编址方式端口的编址方式 CPU对外设的访问实质上是对外设接口电路中相应的端口进行访问。I/O端口的编址方式有两种:统一编址和独立编址。第第1010章章 输入输入/输出系统输出系统1.统一编址方式统一编址方式统一编址方式是指把端口寄存器当作存储单元,将I/O端口和存储单元统一安排地址,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。存储器与I/O设备的区别是所占用的地址空间不同,例如,可以把地址线最高位为“1”的地址空间作为I/O端口使用的地址。统一编址方式的优点是:任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,不需要专用的I/O指令,从

    13、而使系统编程比较灵活;I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数目几乎可以不受限制。统一编址方式的缺点是:I/O端口占用了内存空间的一部分,显然内存空间必然减少,影响了系统内存的容量;同时访问I/O端口同访问内存一样,由于访问内存时的地址长,指令的机器码也长,执行时间明显增加。第第1010章章 输入输入/输出系统输出系统2.独立编址方式独立编址方式独立编址方式是指将I/O端口和存储单元分别处理,建立各自独立的地址空间。主存地址空间和I/O端口地址空间是相互独立、分开的,即I/O端口地址不占用存储器地址空间。CPU设置专门的输入/输出指令(IN/O

    14、UT),通过这些指令中的地址来区分不同的外设。独立编址方式的优点是:I/O端口的地址码较短,译码电路较简单,存储器同I/O端口的操作指令不同,程序比较清晰;I/O设备的端口地址空间与存储器地址空间是完全分开、相互独立的;存储器和I/O端口的控制结构相互独立,可以分别设计。独立编址方式的缺点是:需要有专用的I/O指令,而这些I/O指令的功能一般不如存储器访问指令丰富,所以程序设计的灵活性较差。第第1010章章 输入输入/输出系统输出系统10.1.4 接口类型接口类型因为外设的种类繁多,所以对应的接口也各不相同,可按以下不同方式分类。(1)按数据传送方式分类:有并行接口和串行接口两类。并行接口是将

    15、一个字节(或一个字)的所有位同时传送;串行接口是在设备与接口间一位一位传送。由于接口与主机之间是按字节或字并行传送的,因此对串行接口而言,其内部还必须设有串并及并串转换部分。(2)按功能选择的灵活性分类:有可编程接口和不可编程接口两种。可编程接口的功能及操作方式可用程序来改变或选择;不可编程接口不能由程序来改变其功能,但可通过连线逻辑来实现不同的功能。第第1010章章 输入输入/输出系统输出系统(3)按通用性分类:有通用接口和专用接口两类。通用接口可供多种外设使用;专用接口是为某类外设或某种用途专门设计的。(4)按数据传送的控制方式分类:有中断接口和DMA接口两类。中断接口用于连接速度较慢的I

    16、/O设备,如显示终端、键盘、打印机等。现代计算机一般都采用程序中断方式实现主机与I/O设备交换信息,所以都配有这类接口。DMA型接口用于连接高速I/O设备,如磁盘、磁带等。第第1010章章 输入输入/输出系统输出系统10.1.5 数据传送方式数据传送方式计算机系统中主机与外设之间的数据传输方式称为I/O方式或数据传送方式,这实际上也就是指CPU和接口(端口)之间的信息传送方式。计算机与外部设备交换信息是由CPU控制的。主机与外部设备之间的信息交换方式经历了由低级到高级、由简单到复杂、由集中管理到各部分分散管理的发展过程,按其发展的先后次序和主机与外设并行工作的程度,可分成程序查询传送方式、程序

    17、中断传送方式、直接存储器存取(DMA)方式和通道控制方式四种。下面几节将分别介绍这四种数据传送方式。第第1010章章 输入输入/输出系统输出系统10.2程序查询传送方式程序查询传送方式程序查询传送方式是一种程序直接控制方式,输入和输出完全是通过CPU执行程序来完成的,这是主机与外设进行信息交换的最简单的方式。由于CPU的工作速度远远高于外设,当CPU与外部设备交换数据时,不能保证外部设备已经准备好了数据,因此,传送数据之前CPU要先查询外设的状态,在外部设备和数据端口都就绪时,才能进行数据传送,这就是程序查询传送方式。采用程序查询传送方式传送数据时,首先由主机通过指令启动被选中的外设工作,之后

    18、主机将查询这个外设的状态位,看其是否准备就绪。若外设未准备就绪,主机将再次查询。若外设已准备就绪,则执行一次I/O操作。第第1010章章 输入输入/输出系统输出系统程序查询传送方式的接口电路中除了数据寄存器之外,还必须设置状态寄存器,用来保存状态信息。一般外设均可提供一些反映其状态的信息,如对输入设备来说,它能够提供“准备好”(READY)信号,“READY”=1表示输入数据已准备好。输出设备则提供“忙”(BUSY)信号,“BUSY”=1表示当前时刻不能接收来自CPU的数据,只有当“BUSY”=0时,才表明它可以接收来自于CPU的输出数据。图10-2是程序查询传送方式的程序流程图。设接口电路中

    19、状态端口的地址为STATUS,数据端口的地址为DATA,状态口的D7位作为BUSY状态,则CPU读取输入设备的数据可以通过执行下列程序段实现:第第1010章章 输入输入/输出系统输出系统图10-2 程序查询传送方式流程图 第第1010章章 输入输入/输出系统输出系统TES:IN AL,STATUS;读取状态信息 TEST AL,80H ;测试数据是否准备好 JE TES ;没准备好,继续测试 IN AL,DATA ;准备好,读数据程序查询传送方式的优点是接口硬件结构比较简单,但外设和主机不能同时工作,各外设之间也不能同时工作,主机与外部设备之间以及外部设备之间均处于串行工作状态。当外设速度很慢

    20、时,CPU在等待外设就绪的过程中不能处理其他业务,大量时间被消耗在测试等待中,使主机不能充分发挥效率,而且程序查询传送方式不能发现和处理预先无法估计的错误和异常情况。因此,这种方式仅适用于外设的数目不多,对I/O处理的实时要求不太高,CPU的操作任务比较单一,而且不是很忙的情况。目前很少使用程序查询传送方式。第第1010章章 输入输入/输出系统输出系统10.3 程序中断传送方式程序中断传送方式在程序查询传送方式中,CPU要不断测试外设状态信息,直到外设就绪,CPU才能进行数据传送,CPU的大部分工作时间被浪费在查询外设的工作上,工作效率很低,而且CPU和外设、外设和外设之间的工作均是串行的。为

    21、了提高CPU的工作效率,CPU采用程序中断传送方式与外设交换数据。采用程序中断传送方式时,CPU启动外设工作后不对外设的工作状态进行测试,而是继续执行程序,只有当外设工作完成后主动向CPU提出中断请求,CPU在满足一定的条件下,暂停正在执行的程序,转入中断服务程序为该设备服务,在中断处理程序中与外设交换数据,这样就能实现CPU和外设并行工作,大大提高了CPU的利用率。第第1010章章 输入输入/输出系统输出系统中断系统是计算机实现中断功能的软、硬件总称。一般在CPU中配置中断机构,在外部设备接口中配置中断控制器,在软件上设计相应的中断服务程序。计算机系统引入中断机制后,不但使CPU与外设(多个

    22、外设)处于并行工作状态,还使CPU具备了实时控制能力和对紧急事件的处理能力。10.3.1 中断的基本概念中断的基本概念所谓中断,就是计算机执行现行程序的过程中,发生特殊请求和异常情况时,CPU中止现行程序的运行,转去执行对特殊请求和异常情况处理的程序(中断服务程序),处理完毕后,又返回到被中止的程序继续执行,我们把这一过程称为中断。中断方式的原理示意图如图10-3所示。第第1010章章 输入输入/输出系统输出系统图10-3 中断原理图 第第1010章章 输入输入/输出系统输出系统程序中断过程与调用子程序极为相似,但它们有本质的区别。首先,程序中断是随机发生的,而转子程序是预先考虑好的;其次,子

    23、程序的执行是主程序的调用,是为主程序服务的,而中断程序与主程序的程序毫无关系;还有就是程序的切换方式不同,子程序是由调用指令给出目标地址,中断是通过隐指令获得中断服务的入口地址。1.中断源中断源任何引起中断的事件统称为中断源,或者说中断源是引起中断的事件及发生中断请求的来源。一般有以下几种情况:1)人为设置的中断 这种中断也叫自愿中断,是在程序中设置中断指令,一旦机器执行这种指令,便停止现行程序的执行而转入中断处理。第第1010章章 输入输入/输出系统输出系统2)计算机内部产生的中断 如运算过程出现溢出、数据格式非法,数据传送过程出现校验错,控制器遇到非法指令等,这些都属于由程序设计不周而引起

    24、的中断。3)硬件故障引起的中断硬件故障类型很多,如电源掉电、磁表面损坏等都属硬件故障,这时要求CPU进行紧急处理。4)I/O设备产生的中断I/O设备被启动后,要与主机进行数据交换时,向主机发出已做好接收或发送信息的中断请求,CPU终止现行程序的执行,转去为外设传送数据。每个I/O设备都能发出中断请求。第第1010章章 输入输入/输出系统输出系统5)为了调试程序而设置的中断新的程序编制好后,必须经过反复调试才能正确可靠地工作。在程序调试过程中,为了寻找错误的位置,往往要求在程序中设置断点或使程序单步工作(一次只执行一条指令)。这也要由中断系统来实现。2.中断类型中断类型可以按照不同的方式对中断进

    25、行分类。1)按中断处理方法分类(1)程序中断。主机响应中断请求后,通过执行一段服务程序来处理有关的事宜,主要用于与中、慢速外设的数据传送。(2)简单中断。主机响应中断请求后,不执行服务程序,无需CPU干预,而是让出一个或几个主存周期供外设与主存交换信息。第第1010章章 输入输入/输出系统输出系统2)按中断源分类(1)强迫中断。强迫中断是随机产生的,不是程序预先安排好的。强迫中断的产生有以下三个方面:硬件故障:主要是电源故障、主存读写校验错等;外中断:是由外部设备引起的中断;程序故障:主要是在程序中出现了非法指令、发生溢出等。(2)自愿中断。自愿中断又称程序自中断,不是随机产生的中断,是由程序

    26、中的指令产生的中断,如软件中断指令等,是为了引出一段具有特定功能的程序。第第1010章章 输入输入/输出系统输出系统3)按中断源是否提供向量地址分类中断的核心问题是解决主程序向中断服务程序的转移,也叫切换,所以,CPU如何在收到中断申请后转去中断处理,关键是怎样获得中断服务程序的入口地址(中断向量)。(1)向量中断。CPU响应中断后,由中断接口自动地将中断向量通知CPU,根据向量CPU转入相应的中断服务程序,这种能够产生中断向量的中断称为向量中断。(2)非向量中断。非向量中断不能直接提供中断服务程序的入口地址,而要采用软件查询找到服务程序入口地址。第第1010章章 输入输入/输出系统输出系统4

    27、)按中断请求的可屏蔽性分类(1)不可屏蔽中断。不可屏蔽中断是指CPU不受中断允许触发器的限制,只要有申请CPU就必须无条件响应。比如电源掉电这类比较紧急的中断就不能被限制,一旦出现,必须立即无条件地响应。(2)可屏蔽中断。可屏蔽中断受到中断允许触发器的控制,当中断允许触发器的状态为“1”时,CPU可以接受中断申请,称为开中断;否则,CPU不接受中断申请,称为关中断。第第1010章章 输入输入/输出系统输出系统5)按中断是否有嵌套来分类(1)单级中断。单级中断是指CPU在执行中断的过程中不允许被打断服务程序,只有在本次中断服务程序完成后,才能响应新的中断请求。(2)多级中断。多级中断是指CPU在

    28、处理中断的过程中,允许终止较低级别的中断服务程序,转去响应优先级别较高的中断请求,执行新的中断服务程序。多级中断又称中断嵌套。中断技术的出现,提供了一种以响应外部异常事件而改变状态流程的有效手段,它支持了多重程序的运行及多个用户同时共享整个计算机资源,充分发挥了计算机的高速处理和实时处理能力,以及自动处理机内部故障的能力。第第1010章章 输入输入/输出系统输出系统10.3.2 中断处理过程中断处理过程一个完整的中断处理过程包括中断请求、中断判优、中断响应、中断处理和中断返回。.中断请求中断请求由中断源向CPU发出的中断申请称为中断请求。中断源发出中断请求要满足两个条件:(1)外设工作已经完成

    29、;(2)该外设的中断没有被系统屏蔽。中断过程是从中断源发出中断请求开始的。为了让每个中断源都能发出中断请求信号,要为每一个中断源设置一个触发器,称为中断请求触发器。当有中断申请发生时,相应的中断请求触发器置“1”,向CPU发出中断申请,并一直保留这个状态直到CPU响应中断,才将此中断请求清除。第第1010章章 输入输入/输出系统输出系统中断请求产生后,通过中断请求线传送给CPU,通常有单线中断和多线中断。单线中断是指多个中断源共用一根公共请求线。如图10-4所示。多线中断是指每个中断源单独设置中断请求线,将中断请求信号直接送往CPU,如图10-5所示。2.中断判优中断判优对于一个中断系统,在任

    30、一时刻,只能响应一个中断源的请求。当某时刻有多个中断源同时提出中断申请时,中断系统必须按预先安排好的响应次序予以响应,这个响应次序就是优先级(优先权)。各中断源的响应顺序是根据中断源的性质和处理的轻重缓急来分配的。第第1010章章 输入输入/输出系统输出系统图10-4 单线中断 第第1010章章 输入输入/输出系统输出系统图10-5 多线中断 第第1010章章 输入输入/输出系统输出系统确定中断优先级的原则是,对那些不及时响应就会造成严重后果的中断源,设置最高的优先级,而对可以延迟响应和处理的中断源,则设置较低的优先级。一般来说,在各种类型的中断请求中,故障引起的中断优先级最高;其次是简单中断

    31、及I/O中断。而在I/O中断中,高速外设的优先级高于低速外设的优先级,输入设备的优先级高于输出设备的优先级。I/O设备中断请求的中断判优可用硬件实现,也可用软件实现。1)硬件判优采用硬件判优电路实现中断优先级的判定可节省CPU时间,而且速度快,但是成本较高。根据中断请求信号的传送方式不同,有不同的优先排队电路,常见的方案有:独立请求线的优先排队电路、公共请求线的优先排队电路等。这些排队电路的共同特点是:优先第第1010章章 输入输入/输出系统输出系统级别高的中断请求将自动封锁优先级别低的中断请求的处理。硬件排队电路一旦设计连接好之后,将无法改变其优先级别。独立请求判优线路如图10-6(a)所示

    32、。各设备的中断请求共用一根请求线来传送,当CPU接到一个或几个中断请求后,发出中断响应信号INTA,它串行地依次连接所有中断源,遇到提出中断申请的中断源时,就不再往下传递,表示CPU接受该设备的中断申请,同时启动向量地址编码器,产生相应的中断向量,通过数据线传送给CPU后,就可以转入执行对应的中断服务程序。这种线路也称菊花链线路,连接在线路上的设备距CPU越近的优先级就越高。多线请求判优线路如图10-6(b)所示。每一个设备都有各自的中断请求线,将中断请求信号传送到CPU,在CPU内设置有判优电路,接受各中断请求信号,并判断各申请的优先级。第第1010章章 输入输入/输出系统输出系统图10-6

    33、 中断判优线路第第1010章章 输入输入/输出系统输出系统2)软件判优所谓软件判优法,就是用程序来判别优先级,这是最简单的中断判优方法。图10-7给出了软件判优的流程图。当CPU接到中断请求信号后,就执行查询程序,逐个检测中断请求触发器的状态。检测顺序是按优先级的大小排列的,最先检测的中断源优先级最高,其次检测的中断源具有次高的优先级,最后检测的中断源优先级别就是最低的。软件判优方法简单,可灵活地修改中断源的优先级别,但查询、判优全靠程序实现,这不但占用CPU的宝贵时间,而且判优速度慢。第第1010章章 输入输入/输出系统输出系统图10-7 软件判优流程图 第第1010章章 输入输入/输出系统

    34、输出系统3.中断响应及响应条件中断响应及响应条件I/O设备提出中断请求后,CPU中止现行程序的执行,转去为某个设备服务的过程,称为中断响应。1)中断响应的条件中断响应要满足三个条件:(1)中断源有中断请求。首先中断源要发出中断请求,同时CPU还要接收到这个中断请求信号。(2)CPU允许接受中断请求。CPU要设置在允许中断状态,即开中断。CPU内部有一个中断允许触发器,只有当中断允许触发器的状态为“1”时,CPU才可以接受中断源的中断请求;如果中断允许触发器的状态为“0”,则CPU处于关中断状态,这时即使中断源有中断请求,CPU也不响应。第第1010章章 输入输入/输出系统输出系统(3)现行指令

    35、结束。一般情况下,CPU在一条指令执行完毕且没有更紧迫的任务时才能响应中断请求。在指令执行周期结束后,若有中断,则CPU进入中断周期;若无中断,则CPU进入下一条指令的取指周期。CPU之所以在指令周期结束后才能进入中断处理,是因为CPU在指令周期结束时才安排中断查询。因此,只有在指令周期结束后CPU才能获知哪个中断源有请求。2)中断服务程序入口地址的寻找中断请求具有随机性,所以一旦中断查询发现有中断申请,CPU应立即响应,即终止现行程序的执行,转入相应的中断服务程序。但由于不同的中断源对应不同的中断服务程序,因此准确地找到对应的中断服务程序的入口地址是实现中断处理的核心问题。第第1010章章

    36、输入输入/输出系统输出系统CPU响应中断之后,转去执行中断服务程序,这些操作是由硬件机构直接形成中断隐指令来实现的。中断隐指令并不是指令系统中的一条真正的指令,它没有操作码,中断隐指令是一种不允许、也不可能为用户使用的特殊指令。在中断隐指令中CPU完成两个功能:(1)保存原程序的断点和程序状态字;(2)取出新的程序状态字,转向对应的中断服务程序。4.中断服务处理中断服务处理不同设备的中断服务程序是不相同的,可它们的程序流程又是类似的,一般中断服务程序的流程如图10-8所示。第第1010章章 输入输入/输出系统输出系统图10-8 中断处理过程第第1010章章 输入输入/输出系统输出系统(1)关中

    37、断。为了保护断点和保护中断现场的工作不被新的中断源打断,CPU在响应了中断请求后,系统会自动关闭中断,即中断允许触发器被置“0”。(2)保护断点、保护现场。为了在处理完中断后能正确地返回到原程序继续执行,CPU在响应中断前,要把当前程序计数器的内容(断点)以及通用寄存器和状态寄存器的内容(现场)保存起来。(3)判别中断源,转入中断服务程序。(4)开中断。因为CPU响应中断请求后,系统自动关闭了中断,如果不“开中断”,那么CPU就不能再响应其他中断源的中断请求。第第1010章章 输入输入/输出系统输出系统计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去

    38、处理新的中断请求,这种现象叫做中断嵌套,或叫做多重中断。如果CPU对新的请求不予响应,待执行完当前的服务程序后再响应,即为单重中断。对于单重中断,开中断指令设置在最后“中断返回”之前,这样在整个中断服务处理过程中,都不能再响应其他中断源的请求。而对于多重中断,开中断指令要放在“保护现场”之后。只有这样,在中断服务处理的过程中,若有级别更高的中断源提出请求,CPU就可以响应,并终止现行的中断服务程序,转至新的中断服务程序,这就是多重中断。多重中断过程见图10-9。只有优先级别较高的中断源请求,才可以中断比其级别低的中断服务程序,同级或较低级的中断源都不能产生中断嵌套。第第1010章章 输入输入/

    39、输出系统输出系统图10-9 多重中断 第第1010章章 输入输入/输出系统输出系统(5)执行中断服务程序。这是中断服务程序的主体部分,不同的中断请求源其中断服务操作内容是不同的。(6)关中断。为了在恢复现场和恢复断点过程中不再接受其他的中断申请,将中断允许触发器置“0”,把中断关闭。(7)恢复现场、恢复断点。这是中断服务程序的结束部分,在退出中断服务程序前,恢复原来保存的断点和现场,以便中断处理结束后被中断的程序能在原来现场状况下恢复继续执行。(8)开中断。为了在本次中断结束后,计算机能够再次处理新中断源的中断申请,在中断返回之前要开中断。第第1010章章 输入输入/输出系统输出系统5中断返回

    40、中断返回中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,继续执行原程序。CPU在执行中断服务程序时,如果在保护断点和保护现场后不“开中断”,则对新的中断请求将不予响应,这时的中断就是单重中断;倘若在保护断点和保护现场后“开中断”,这时就有发生多重中断的可能。所以,多重中断和单重中断在中断服务程序上略有不同。第第1010章章 输入输入/输出系统输出系统10.3.3 中断屏蔽技术中断屏蔽技术当多个中断源发出中断请求时,CPU只能响应一个中断,为了更灵活地运用中断,在计算机中采用了中断屏蔽技术。屏蔽的意思是让某种中断不起作用,用中断屏蔽技术可以有选择地封锁部分中断。中断屏

    41、蔽的具体方法如图10-10所示,就是在中断接口中设置一个中断屏蔽触发器IM。中断源发出中断请求之后,这个中断请求并没有被直接送到CPU中,而是在送往判优电路之前,先受到中断屏蔽触发器的控制。通过指令将中断屏蔽触发器设置为“1”或“0”,可以有选择地禁止或开放对应中断源的中断申请。第第1010章章 输入输入/输出系统输出系统图10-10 中断屏蔽线路第第1010章章 输入输入/输出系统输出系统采用中断屏蔽技术,可以动态地改变原设置的中断优先级别。如图10-6(a)所示,硬件安排好的中断优先级一旦连接完成就不能随便改变,对于一些级别比较低的中断源,可能会长时间得不到CPU响应,这不利于外设的正常工

    42、作。因此,可以利用中断屏蔽技术,将高级中断源的中断屏蔽掉,这样低级中断源的中断申请就能被响应。实际应用时,会将多个中断屏蔽寄存器的状态放在一个寄存器中,称为屏蔽字,可以通过一条专门的指令送到屏蔽寄存器中。屏蔽字中不同位上的0和1,控制不同中断源的中断请求进入中断判优排队线路中。中断响应次序是由硬件排队电路决定的,无法改变。但是,中断处理次序是可以由屏蔽码来改变的,所以可以把屏蔽码看成软排队器。第第1010章章 输入输入/输出系统输出系统10.4 8086 CPU的中断的中断10.4.1 8086 CPU中断的分类中断的分类8086 CPU的中断分为两大类:内部中断和外部中断。1.外部中断外部中

    43、断外部中断是由来自CPU外部的硬件电路产生的中断,又称硬件中断。外部中断分不可屏蔽中断NMI和可屏蔽中断INTR。1)不可屏蔽中断NMI该中断请求不能通过软件的方式进行屏蔽,一旦出现NMI中断请求,CPU必须立即响应。因此,把对系统运行有重大影响的中断请求作为NMI中断请求信号。比如掉电、奇偶校验错误等中断请求。第第1010章章 输入输入/输出系统输出系统2)可屏蔽中断INTR该中断请求可以通过软件的方式进行屏蔽。一旦出现可屏蔽中断请求,CPU是否响应,取决于CPU中的中断标志位IF。当IF=1时,CPU响应中断;当IF=0时,CPU不响应中断。IF的值可以通过软件来设置。2.内部中断内部中断

    44、内部中断是由于CPU内部的原因产生的中断,内部中断不受IF状态位的影响。1)除法错中断在除法运算时,若除法为0或商超出了寄存器所能表示的范围,就产生一个类型码为0的中断。第第1010章章 输入输入/输出系统输出系统2)单步中断在使用DEBUG调试程序时,常常使用T命令单步执行程序,这样每执行一条指令,就显示出当前各个寄存器的值、每个状态标志位的状态以及下一条要执行的指令。单步中断是指在TF=1时,CPU每执行一条指令,将自动产生一个类型码为1的中断。3)断点中断断点中断是类型码为3的中断,与单步中断一样,主要用于程序调试。在程序中设置断点,就是插入一条断点指令INT 3,程序执行到断点时便产生

    45、中断,显示出当前各个寄存器的值、每个状态标志位的状态以及下一条要执行的指令。第第1010章章 输入输入/输出系统输出系统4)溢出中断溢出中断是类型码为4的中断。若程序在执行某条指令时,OF=1,就产生溢出中断。5)软中断软中断是执行软中断指令(INT n)发生的中断。软中断中的n称为中断类型码,n的取值范围是0FFH或0255。CPU在执行INT指令时,就产生一个中断,该中断的中断处理程序完成预设的功能。例如,DOS功能调用指令INT 21H就是软中断指令,中断类型为21H。3中断优先级中断优先级8086 CPU规定的各个中断源的优先级按由高到低分配如下:除法错中断、断点中断、溢出中断、软中断

    46、、NMI、INTR、单步中断。第第1010章章 输入输入/输出系统输出系统10.4.2 中断向量表中断向量表8086 CPU最多可以有256个中断源,用数据00HFFH来表示,称为中断类型码。256个中断对应有256个中断服务程序的入口地址,将这些地址存放在内存中,形成中断向量表,表的每一项占用4个字节单元,其中低地址的2个单元存放中断向量的偏移地址,高地址的2个单元存放中断向量的段地址,这个向量表共需4256=1024个字节单元,即1 KB存储空间,存放在内存00000H003FFH中。这个表建立了中断类型码与中断向量之间的对应关系,CPU响应中断后,通过中断类型码获得中断服务程序的入口地址

    47、,转去执行中断服务程序。第第1010章章 输入输入/输出系统输出系统假如某中断源使用的中断类型码是60H,则该中断源对应的中断向量存放在向量表中的地址为60H4=00180H,即从内存00180H开始的4个连续单元中,存放了60H中断的中断向量,00180H字单元中存放中断向量的偏移地址,00182H字单元中存放中断向量的段地址。当CPU执行软中断指令INT 60H时,自动将00180H字单元中的偏移地址取出赋给IP,将00182H字单元中的段地址取出赋给CS,使CPU执行的下一条指令为中断服务程序的第一条指令。第第1010章章 输入输入/输出系统输出系统10.5 直接存储器存取直接存储器存取

    48、(DMA)方式方式10.5.1 DMA的基本概念的基本概念采用程序中断传送方式,能实现外部设备间的并行工作,提高了计算机系统的工作效率。但程序中断传送方式主要的工作都是由CPU执行程序完成的,每处理一次I/O交换,约需几十微秒到几百微秒,而且中断系统的保存与恢复现场也需一定的时间,因此中断方式不能实现高速外设与主机的信息交换。对一些工作速度高、要成批量交换数据的外设来说,仍然显得速度太慢,而且CPU频繁地干预,会引起大量数据丢失。第第1010章章 输入输入/输出系统输出系统DMA方式的数据交换不是通过CPU执行一段程序实现的,而是使用专门的硬件来控制外设与主存间数据的直接交换,这个控制数据传送

    49、的硬件称为DMA控制器(简称为DMAC)。在DMA传送方式中,当外设需要进行数据传送时,通过DMA控制器向CPU提出DMA传送请求,CPU响应之后让出总线控制权,由DMA控制器接管总线进行数据传送。在DMA控制器的控制下,数据直接在内存和I/O设备之间进行传送,如图10-11所示。DMA方式一般用于高速传送成组数据。DMA控制器与CPU是共享存储器的两个独立的处理器,但DMA控制器是一个非常简单的控制器。当DMA和CPU同时需要使用总线时,系统赋予DMA控制口较高的优先权。第第1010章章 输入输入/输出系统输出系统图10-11 DMA通道第第1010章章 输入输入/输出系统输出系统DMA方式

    50、与中断方式相比有以下不同:(1)中断方式下,CPU需要执行中断服务程序,才能完成数据交换;而DMA方式是通过硬件来实现数据的交换,不需CPU干预,占用CPU的时间少。(2)DMA的响应速度比中断快。I/O设备发出中断请求后,CPU要执行完当前指令后才给予响应;而DMA请求是在现行机器周期结束后响应。(3)中断方式适用于慢速外设的I/O方式;DMA方式适用于高速的I/O设备。(4)中断方式具有对异常事件进行处理的能力,DMA方式仅用于数据传送。第第1010章章 输入输入/输出系统输出系统10.5.2 DMA接口的功能和组成接口的功能和组成直接存储器存取的传送方式不需要CPU的干预,在硬件电路控制

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《计算机原理与汇编语言程序设计》课件第10章.ppt
    链接地址:https://www.163wenku.com/p-7806348.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库