《(4.8)--第五章 输入输出系统计算机组成原理.ppt》由会员分享,可在线阅读,更多相关《(4.8)--第五章 输入输出系统计算机组成原理.ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 输入输出系统输入输出系统5.1 I/O系统概述系统概述5.2 程序查询方式程序查询方式5.3 程序中断方式程序中断方式5.4 DMA方式方式5.5 通道方式通道方式2 计算机的输入输出系统是整个计算机系统计算机的输入输出系统是整个计算机系统中最具有中最具有多样性多样性和和复杂性复杂性的部分,本章讨论主的部分,本章讨论主机与外设之间的连接问题,重点介绍机与外设之间的连接问题,重点介绍程序查询程序查询方式方式、程序中断方式程序中断方式、DMA方式方式3种输入输出种输入输出控制方式控制方式。3教学内容教学内容I/O系统的组成系统的组成I/O接口的组成、作用接口的组成、作用程序查询方式的
2、原理、特点程序查询方式的原理、特点中断方式的原理、特点中断方式的原理、特点DMA方式的原理、特点方式的原理、特点通道方式的功能、组成通道方式的功能、组成4教学要求教学要求了解:了解:I/O系统的组成系统的组成理解:接口的基本组成、功能理解:接口的基本组成、功能掌握:程序查询方式的特点和工作流程掌握:程序查询方式的特点和工作流程掌握:中断方式的原理、作用掌握:中断方式的原理、作用理解:中断处理的具体过程理解:中断处理的具体过程掌握:掌握:DMA方式的特点、接口的组成方式的特点、接口的组成理解:理解:DMA传送过程传送过程理解:通道方式过程理解:通道方式过程5.1 输入输入/输出系统概述输出系统概
3、述 在计算机系统中,在计算机系统中,CPU除了与主机交换信息之外,除了与主机交换信息之外,还和其他设备之间传输信息的软硬件机构统称为输入还和其他设备之间传输信息的软硬件机构统称为输入/输出系统,简称输出系统,简称I/O系统。系统。I/O系统的作用:系统的作用:把计算机系统以外的数据接收到把计算机系统以外的数据接收到计算机主机中,同时将计算机系统中处理后的数据传计算机主机中,同时将计算机系统中处理后的数据传输到计算机系统外面。输到计算机系统外面。I/O系统是计算机系统的重要组成部分,负系统是计算机系统的重要组成部分,负责主机与外界进行数据交换。责主机与外界进行数据交换。目前,输入输出设备种类日益
4、增多,目前,输入输出设备种类日益增多,I/O系系统就越来越显得重要。统就越来越显得重要。为了提高主机的工作效率,组织合理的为了提高主机的工作效率,组织合理的I/O系统、配系统、配备先进的备先进的I/O技术及接口部件是充分发挥计算机系统性能技术及接口部件是充分发挥计算机系统性能必不可少的条件。必不可少的条件。本章着重介绍本章着重介绍I/O系统的组成,主机和外围设备之间系统的组成,主机和外围设备之间的三种数据传送方式:的三种数据传送方式:程序查询方式程序查询方式、中断方式中断方式、DMA方式方式。I/O系统一般包括系统一般包括硬件硬件及其相应的及其相应的软件软件。各种外。各种外围设备不能与计算机主
5、机直接联系,必须通过围设备不能与计算机主机直接联系,必须通过I/O系系统连接。统连接。1.输入输出系统的组成输入输出系统的组成(1)I/O软件软件 软件的作用:第一,将用户编制的程序输入主软件的作用:第一,将用户编制的程序输入主机内。第二,将运算结果输送给用户。第三,实现机内。第二,将运算结果输送给用户。第三,实现输入输出系统与主机工作的协调。输入输出系统与主机工作的协调。I/O 指令指令通道指令通道指令CPU 指令的一部分指令的一部分通道自身的指令通道自身的指令指出数组的首地址、传送字数、操作命令指出数组的首地址、传送字数、操作命令如如 IBM/370 通道指令为通道指令为 64 位位(2)
6、I/O 硬件硬件 I/O接口模块和接口模块和I/O接口设备、相关的设接口设备、相关的设备控制器、数据通道。备控制器、数据通道。操作码操作码命令码命令码设备码设备码 I/O系统的硬件由系统的硬件由4部分组成:部分组成:外围设备外围设备、设备设备控制器控制器、I/O接口接口和和CPU。外围设备:外围设备:利用光、电、磁、机械等原理制利用光、电、磁、机械等原理制成的各种设备,将信息成的各种设备,将信息转换为二进制数码转换为二进制数码的表示的表示形式。形式。设备控制器:设备控制器:将外围设备生成的各种形式的将外围设备生成的各种形式的二进制数码转换成电路的信号,并根据输入信号二进制数码转换成电路的信号,
7、并根据输入信号的要求,对设备的运行进行控制。的要求,对设备的运行进行控制。设备控制器属设备控制器属于外围设备的一个组成部分,是该外围设备与计于外围设备的一个组成部分,是该外围设备与计算机连接的界面。算机连接的界面。输入输入/输出接口:输出接口:接口部件的功能就是进行外设与接口部件的功能就是进行外设与CPU之间的信息转换,使其形式上能互相适应,速度之间的信息转换,使其形式上能互相适应,速度上能互相匹配。上能互相匹配。同时能根据同时能根据CPU的控制要求,对的控制要求,对I/O系系统的工作进行控制与检测。统的工作进行控制与检测。CPU:计算机系统的计算机系统的CPU除了正常的工作外,在除了正常的工
8、作外,在I/O系统中执行输入输出指令,对整个系统中执行输入输出指令,对整个I/O系统进行启系统进行启动、检测和控制。动、检测和控制。2.I/O 设备编址方式设备编址方式 (1)统一编址:统一编址:I/O地址看做是存储器地址的一地址看做是存储器地址的一部分。使用的指令与访存指令一样。部分。使用的指令与访存指令一样。(2)独立编址:独立编址:I/O地址和存储器地址是分开的,地址和存储器地址是分开的,有专门的有专门的 I/O指令。指令。统一编址优点:统一编址优点:不需设置专用的不需设置专用的I/O指令,简化指令系统的设计。指令,简化指令系统的设计。对对I/O和对存储器的访问一样。和对存储器的访问一样
9、。不需要区别访问主存或不需要区别访问主存或I/O,减少控制的复杂性。,减少控制的复杂性。统一编址缺点:统一编址缺点:I/O端口占用主存的地址,降低主存利用率。端口占用主存的地址,降低主存利用率。使用的指令一样,难以区分,程序可读性差。使用的指令一样,难以区分,程序可读性差。译码电路复杂,导致译码时间较长。译码电路复杂,导致译码时间较长。独立编址优点独立编址优点:主存和主存和I/O端口的地址可用范围都比较大。端口的地址可用范围都比较大。使用专门的使用专门的I/O指令对端口进行读写操作。指令对端口进行读写操作。程序层次非常清晰,程序的可读性好。程序层次非常清晰,程序的可读性好。独立编址缺点独立编址
10、缺点:必须有专门的必须有专门的I/O指令。指令。需要增加对需要增加对I/O地址访问的控制信号。地址访问的控制信号。增加了控制逻辑的复杂性。增加了控制逻辑的复杂性。中央处理器和主存构成了主机,除了主机以外中央处理器和主存构成了主机,除了主机以外的大部分设备都可以称为的大部分设备都可以称为I/O设备设备或者或者外部设备外部设备或或者者外围设备外围设备。现代计算机现代计算机I/O设备向设备向多样化多样化、智能化、交互性智能化、交互性方向发展,品种繁多,性能良好,价格也贵。方向发展,品种繁多,性能良好,价格也贵。3.I/O设备设备从用途的角度来分类从用途的角度来分类键盘、鼠标、打印机、显示器键盘、鼠标
11、、打印机、显示器 磁盘、光盘、磁带磁盘、光盘、磁带(1)人机交互设备人机交互设备(2)计算机信息存储设备计算机信息存储设备(3)机机-机通信设备机通信设备调制解调器等调制解调器等输入设备输入设备键盘、图形、图像输入设备键盘、图形、图像输入设备条形码阅读器条形码阅读器光学字符识别光学字符识别语音输入语音输入输出设备输出设备显示器、打印机显示器、打印机绘图仪、音箱绘图仪、音箱终端设备、汉字处理设备终端设备、汉字处理设备A/D、D/A转换设备、多媒体设备转换设备、多媒体设备从使用的部位来分类从使用的部位来分类键盘和鼠标键盘和鼠标触摸屏触摸屏光光 笔笔绘图板绘图板显示器显示器打印机打印机绘图仪绘图仪扫
12、描仪扫描仪 I/O接口是接口是完成外围设备和主机相互连接的功完成外围设备和主机相互连接的功能界面能界面。种类繁多、功能各异的外围设备要想接入。种类繁多、功能各异的外围设备要想接入到系统总线,必须符合总线规定的物理、电气、功到系统总线,必须符合总线规定的物理、电气、功能、时间等特性,实现这些技术规范的功能部件就能、时间等特性,实现这些技术规范的功能部件就是由是由I/O接口来完成的,接口来完成的,设立在外设与总线之间的设立在外设与总线之间的逻辑部件逻辑部件。4.I/O接口接口(1)实现设备的选择实现设备的选择(2)实现数据缓冲达到速度匹配实现数据缓冲达到速度匹配(4)实现电平转换实现电平转换(5)
13、传送控制命令传送控制命令(6)反映设备的状态(反映设备的状态(“忙忙”、“就绪就绪”、“中断请求中断请求”)(3)实现数据串实现数据串并格式转换并格式转换主机和外设之间设立接口的原因主机和外设之间设立接口的原因I/O接口的功能接口的功能 (1)实现主机和外设的通信联络控制:实现主机和外设的通信联络控制:接口中接口中的同步控制电路用来解决主机与外设的时间配合问的同步控制电路用来解决主机与外设的时间配合问题。题。(2)进行地址译码和设备选择:进行地址译码和设备选择:一个计算机系一个计算机系统都有多种外设,主机与外设交换信息时,接口必统都有多种外设,主机与外设交换信息时,接口必须对地址进行译码以产生
14、设备选择信息,使主机能须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。和指定外设交换信息。实现数据缓冲:实现数据缓冲:数据传送过程中,先将数据送数据传送过程中,先将数据送入数据缓冲寄存器中,然后再送到输出设备或主机中入数据缓冲寄存器中,然后再送到输出设备或主机中去。去。数据格式的变换:数据格式的变换:外设的多样性,为了满足主外设的多样性,为了满足主机或外设的各自要求,接口电路中必须具有实现各类机或外设的各自要求,接口电路中必须具有实现各类数据相互转换的功能。数据相互转换的功能。传递控制命令和状态信息:传递控制命令和状态信息:CPU与外设交换与外设交换信息,首先通过接口中的命令寄
15、存器向外设发出启动信息,首先通过接口中的命令寄存器向外设发出启动命令;当外设已就绪时,将状态信息送回接口中的状命令;当外设已就绪时,将状态信息送回接口中的状态寄存器,为态寄存器,为CPU提供反馈信息。提供反馈信息。(1)设备选择线设备选择线(2)数据线数据线(3)命令线命令线(4)状态线状态线I/O 接口接口设备设备I/O 接口接口设备设备数数据据线线命命令令线线状状态态线线I/O总线总线设设备备选选择择线线I/O 接口电路接口电路I/O 接口的基本组成接口的基本组成 命令寄存器命令寄存器和命令译码器和命令译码器 设备选择设备选择 电路电路 设备状态设备状态 标记标记 数据缓冲数据缓冲 寄存器
16、寄存器DBR 控控制制逻逻辑辑电电路路I/O接口接口外外 部部 设设 备备数据线数据线命令命令状态状态数据线数据线命令线命令线状态线状态线CPU地址线地址线 一般一般I/O接口分为两部分,一部分用于与系统总线连接;接口分为两部分,一部分用于与系统总线连接;另一部分用于与另一部分用于与I/O设备连接。设备连接。接口中主要传送接口中主要传送数据信息数据信息、控制信息控制信息和和状态状态信息信息,这些信息都通过,这些信息都通过数据总线数据总线来传送。来传送。大多数计算机都把外部设备的状态信息视为大多数计算机都把外部设备的状态信息视为输入数据输入数据,而把控制信息看成输出数据而把控制信息看成输出数据,
17、并在接,并在接口中分别设置相应的寄存器,赋以不同的端口地口中分别设置相应的寄存器,赋以不同的端口地址,各种信息分时地使用数据总线传送到各自的址,各种信息分时地使用数据总线传送到各自的寄存器中去。寄存器中去。数据寄存器:数据寄存器:一般采用双向三态逻辑,由内部控一般采用双向三态逻辑,由内部控制逻辑改变输入或输出方向,用于暂存制逻辑改变输入或输出方向,用于暂存CPU和外部设和外部设备之间传输的数据,起到缓冲作用,因此也称为数据备之间传输的数据,起到缓冲作用,因此也称为数据缓冲器。缓冲器。状态寄存器:状态寄存器:用于暂存外部设备和用于暂存外部设备和I/O接口的状态,接口的状态,CPU可以通过数据总线
18、读取这些状态,从而决定下一可以通过数据总线读取这些状态,从而决定下一步的操作。步的操作。控制寄存器:控制寄存器:用于暂存用于暂存CPU发给外部设备或接发给外部设备或接口的控制信号。口的控制信号。控制逻辑:控制逻辑:用于接收用于接收CPU从控制总线发来的控从控制总线发来的控制信号,然后将这些读写控制信号转变为对制信号,然后将这些读写控制信号转变为对I/O接口接口中各个寄存器的读写控制信号。中各个寄存器的读写控制信号。CPU和外部设备之间传输的信息:数据信息、和外部设备之间传输的信息:数据信息、状态信息和控制信息。状态信息和控制信息。数据信息:数据信息:主要包括三种形式:数字量、模拟主要包括三种形
19、式:数字量、模拟量量、开关量。、开关量。状态信息:状态信息:即即CPU通过通过I/O接口获取当前外部设接口获取当前外部设备的工作状态,以便备的工作状态,以便CPU根据外设状态做出响应。根据外设状态做出响应。控制信息:控制信息:即即CPU通过接口对外设发出的相关通过接口对外设发出的相关控制信号。控制信号。接口与端口的区别接口与端口的区别 接口与端口是不同的概念。接口与端口是不同的概念。端口是指接口电端口是指接口电路中可以被路中可以被CPU直接访问的寄存器,若干个端直接访问的寄存器,若干个端口加上相应的控制逻辑电路才组成接口。口加上相应的控制逻辑电路才组成接口。一个接口中包含有数据端口、命令端口和
20、一个接口中包含有数据端口、命令端口和状态端口。状态端口。CPU通过输入指令可以从有关端口通过输入指令可以从有关端口中读取信息,通过输出指令可以把信息写入有中读取信息,通过输出指令可以把信息写入有关端口。关端口。5.接口类型接口类型并行接口并行接口串行接口串行接口可编程接口可编程接口不可编程接口不可编程接口(1)按数据按数据 传送方式传送方式 分类分类(2)按功能)按功能 选择的灵活性选择的灵活性 分类分类Intel 8255Intel 8251Intel 8255、Intel 8251Intel 8212通用接口通用接口专用接口专用接口(3)按)按 通用性通用性 分类分类(4)按数据传送的)按
21、数据传送的 控制方式控制方式 分类分类中断接口中断接口DMA 接口接口Intel 8255、Intel 8251Intel 8279、Intel 8275Intel 8259Intel 8257 不去耕耘,不去播种,再肥沃的土地不去耕耘,不去播种,再肥沃的土地也长不出庄稼;不去奋斗,不去创造,再也长不出庄稼;不去奋斗,不去创造,再美丽的春天也结不出果实。骄傲,是断了美丽的春天也结不出果实。骄傲,是断了引线的风筝,稍纵即逝;自卑,是剪了双引线的风筝,稍纵即逝;自卑,是剪了双翼的飞鸟,难上青天。翼的飞鸟,难上青天。心灵鸡汤心灵鸡汤 I/O设备与主机交换信息时,一共有设备与主机交换信息时,一共有5种
22、方式,种方式,咱们重点介绍咱们重点介绍4种。种。5.2 I/O设备与主机信息传输方式设备与主机信息传输方式 掌握主机与外围设备的数据传送方式主要围绕掌握主机与外围设备的数据传送方式主要围绕两个问题:两个问题:一是主机速度与外围设备速度的匹配问一是主机速度与外围设备速度的匹配问题题,二是如何提高整体机器系统的性能问题二是如何提高整体机器系统的性能问题。1.程序查询方式程序查询方式 CPU通过程序不断地查询通过程序不断地查询I/O设备是否已准备就设备是否已准备就绪,从而控制绪,从而控制I/O设备与主机交换信息。设备与主机交换信息。这种方式这种方式完全依靠完全依靠CPU执行程序来完成执行程序来完成。
23、一旦。一旦某一外设被选中并启动之后,主机将查询这个外设的某一外设被选中并启动之后,主机将查询这个外设的某些状态位,看其是否准备就绪?某些状态位,看其是否准备就绪?若外设未准备就绪,主机将再次查询;若外设已若外设未准备就绪,主机将再次查询;若外设已准备就绪,则执行一次准备就绪,则执行一次I/O操作。操作。从从I/O接口中读接口中读 一个字到一个字到CPU从从CPU向主存向主存 写入一个字写入一个字CPU向向I/O发发 读指令读指令CPU读读I/O状态状态检查状态检查状态 完成否完成否未准备就绪未准备就绪现行程序现行程序是是出错出错已准备就绪已准备就绪否否检查状态标记检查状态标记1 设备设备1 准
24、备就绪?准备就绪?检查状态标记检查状态标记N 设备设备N准备就绪?准备就绪?处理设备处理设备1是是否否否否处理设备处理设备N是是多多个个设设备备程程序序流流程程设置主存缓冲区首址设置主存缓冲区首址设置计数值设置计数值启动外设启动外设传送一个数据传送一个数据修改主存地址修改主存地址修改计数值修改计数值结束结束I/O传送传送准备好?准备好?传送完?传送完?未完未完是是完完否否 预设初始值:预设初始值:在传送数据之前,由在传送数据之前,由CPU执行一执行一段初始化程序,预置传送参数。主要包括段初始化程序,预置传送参数。主要包括主存缓冲主存缓冲区首地址区首地址和和传送数据的个数传送数据的个数。查询外设
25、状态:查询外设状态:CPU在传送数据之前,首先读在传送数据之前,首先读取状态寄存器的标志位来检查外设是否准备就绪。取状态寄存器的标志位来检查外设是否准备就绪。只有外设准备就绪,才可进行数据传送;如果外设只有外设准备就绪,才可进行数据传送;如果外设没有就绪,主程序将循环读取外设状态,直到外设没有就绪,主程序将循环读取外设状态,直到外设准备就绪为止。准备就绪为止。数据传送环节:数据传送环节:首先传送地址信息,根据地址首先传送地址信息,根据地址译码选择端口,通过译码选择端口,通过IN或或OUT指令将数据进行输入指令将数据进行输入或输出。或输出。修改传送参数:修改传送参数:主存缓冲区地址加主存缓冲区地
26、址加1,传送数据,传送数据量计数器减量计数器减1,从而判断数据是否传送完毕。,从而判断数据是否传送完毕。程序查询方式是最简单、经济的程序查询方式是最简单、经济的I/O方式,只需很方式,只需很少的硬件。通常接口中至少有两个寄存器,一个是少的硬件。通常接口中至少有两个寄存器,一个是数数据缓冲寄存器据缓冲寄存器,即数据端口,用来存放与,即数据端口,用来存放与CPU进行传进行传输的数据信息。输的数据信息。另一个是供另一个是供CPU查询的查询的设备状态寄存器设备状态寄存器,即状态,即状态端口,这个寄存器由多个标志位组成,其中最重要的端口,这个寄存器由多个标志位组成,其中最重要的是是“外设准备就绪外设准备
27、就绪”标志(输入或输出设备的准备就标志(输入或输出设备的准备就绪标志可以不是同一位)。绪标志可以不是同一位)。特点:特点:只要一启动只要一启动I/O设备,设备,CPU不断查不断查询外设的情况,终止原来程序的执行,出现询外设的情况,终止原来程序的执行,出现“踏步踏步”。CPU与与I/O设备处于串行工作状态,设备处于串行工作状态,工作效率不高。工作效率不高。因此,仅适用于外设的数目不多,对因此,仅适用于外设的数目不多,对I/O处理的实时性要求不高,处理的实时性要求不高,CPU的操作任务比的操作任务比较单一,并不是很忙的情况。较单一,并不是很忙的情况。存在问题:存在问题:严重影响系统性能,严重影响系
28、统性能,CPU与外设只能串行工作,与外设只能串行工作,CPU资源浪费,降资源浪费,降低系统工作效率。低系统工作效率。如果设备出现故障,如果设备出现故障,CPU无法获取正确无法获取正确的设备状态信息,此时计算机将可能进入的设备状态信息,此时计算机将可能进入“死机死机”局面。局面。D7 D6 D0READY例:设某例:设某输入接口输入接口,状态口地址,状态口地址83H,数据口地址,数据口地址80H,当状态口的当状态口的D7为为1时时,数据准备好数据准备好。编写查询编写查询输入一个数据的程序。输入一个数据的程序。POLL:IN AL,83H ;读入状态信息读入状态信息 TEST AL,80H ;检查
29、状态位检查状态位D7 JZ POLL ;D7=0,没就绪,继续查询没就绪,继续查询 IN AL,80H ;D7=1,就绪,从数据端口就绪,从数据端口 读入数据读入数据D7 D6 D0BUSY例:设某例:设某输出接口输出接口,状态口地址,状态口地址63H,数据口地址,数据口地址60H,当状态口的当状态口的D0为为1时输出时输出BUSY,D0为为0时时可以可以输出数据输出数据。查询输出查询输出DAT单元一个数据。单元一个数据。POLL:IN AL,63H ;读入状态信息读入状态信息 TEST AL,01H ;检查忙标志检查忙标志D0 JNZ POLL ;D0=1,未就绪,继续查询未就绪,继续查询
30、MOV AL,DAT ;D0=0,就绪就绪,数据送数据送AL OUT 60H,AL ;将数据输出到数据端口将数据输出到数据端口例例1:在程序查询方式的输入:在程序查询方式的输入/输出系统中,假设不考输出系统中,假设不考虑处理时间,每一个查询操作需要虑处理时间,每一个查询操作需要100个时钟周期,个时钟周期,CPU的时钟频率为的时钟频率为50MHz。现有鼠标和硬盘两个设备,。现有鼠标和硬盘两个设备,而且而且CPU必须每秒对鼠标进行必须每秒对鼠标进行30次查询,硬盘以次查询,硬盘以32位位字长为单位传输数据,即每字长为单位传输数据,即每32位被位被CPU查询一次,传查询一次,传输率为输率为2MB/
31、s。求。求CPU对这两个设备查询所花费的时对这两个设备查询所花费的时间比率,由此可得出什么结论?间比率,由此可得出什么结论?解:(解:(1)CPU每秒对鼠标进行每秒对鼠标进行30 次查询,所需的时钟次查询,所需的时钟周期数为:周期数为:10030 3000 根据根据CPU的时钟频率为的时钟频率为50MHz,即每秒,即每秒50106个时个时钟周期,故对鼠标的查询占用钟周期,故对鼠标的查询占用CPU的时间比率为:的时间比率为:3000/(50106)100%0.006%可见,对鼠标的查询基本不影响可见,对鼠标的查询基本不影响CPU的性能。的性能。(2)对于硬盘,每)对于硬盘,每32位被位被CPU查
32、询一次,查询一次,故每秒查询:故每秒查询:2MB/4B 512K次次 则每秒查询的时钟周期数为:则每秒查询的时钟周期数为:1005121024 52.4106 故对磁盘的查询占用故对磁盘的查询占用 CPU的时间比率为的时间比率为 (52.4106)/(50106)100%105%可见,即使可见,即使CPU将全部时间都用于对硬盘的将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求,因此查询也不能满足磁盘传输的要求,因此CPU一般不一般不采用程序查询方式与磁盘交换信息。采用程序查询方式与磁盘交换信息。2.程序中断方式程序中断方式 为了提高输入为了提高输入/输出工作速度和输出工作速度和CPU的效率
33、,的效率,20世纪世纪50年代中期,引入了程序中断方式。年代中期,引入了程序中断方式。基本思想:基本思想:外设有输入输出需求时,主动向外设有输入输出需求时,主动向CPU发出中断请求,让发出中断请求,让CPU为自己服务。在允许响为自己服务。在允许响应的条件下,应的条件下,CPU暂停正在执行的程序,转去为某暂停正在执行的程序,转去为某设备完成一次数据传送,结束后设备完成一次数据传送,结束后CPU返回原来的程返回原来的程序继续执行。序继续执行。程序中断方式示意图程序中断方式示意图 CPU正在执行现行程序,当出现某种非预期的事件正在执行现行程序,当出现某种非预期的事件需要处理,需要处理,CPU暂停现行
34、程序的执行,转去为该事件服暂停现行程序的执行,转去为该事件服务,待服务完毕,务,待服务完毕,CPU再返回到原来的程序。再返回到原来的程序。2.1 中断的基本类型中断的基本类型(1)自愿中断和强迫中断)自愿中断和强迫中断 自愿中断又称程序自中断,不是随机产生的,在自愿中断又称程序自中断,不是随机产生的,在程序中安排相关指令。强迫中断是随机产生的,无意程序中安排相关指令。强迫中断是随机产生的,无意间发生的。间发生的。(2)内中断和外中断)内中断和外中断 内中断是内中断是CPU内部硬件或软件引起的。外中断是内部硬件或软件引起的。外中断是CPU以外的部件引起的中断。以外的部件引起的中断。(3)向量中断
35、和非向量中断)向量中断和非向量中断 向量中断是指中断服务程序入口地址由事件向量中断是指中断服务程序入口地址由事件自己提供,主机通过事件很快得到中断服务程序。自己提供,主机通过事件很快得到中断服务程序。非向量中断是无法得到中断服务程序入口地址,非向量中断是无法得到中断服务程序入口地址,处理起来复杂。处理起来复杂。(4)单重中断和多重中断)单重中断和多重中断 单重中断是指单重中断是指CPU 执行中断服务程序不能再执行中断服务程序不能再被打扰。多重中断是指可以实现中断嵌套。被打扰。多重中断是指可以实现中断嵌套。2.2 I/O中断处理过程中断处理过程(1)中断请求中断请求 外部中断:外部中断:每个中断
36、源通过中断请求触发器置每个中断源通过中断请求触发器置位作为中断请求信号。该信号连接到位作为中断请求信号。该信号连接到CPU的的NMI或或INTR引脚上。引脚上。内部中断:内部中断:通过内部中断控制逻辑产生。通过内部中断控制逻辑产生。(2)中断判优中断判优 多重中断同时发生,到底首先响应谁,需要提多重中断同时发生,到底首先响应谁,需要提前制定相关的优先级问题。前制定相关的优先级问题。(3)中断响应中断响应 关中断、保存断点、识别中断源,转向中断服关中断、保存断点、识别中断源,转向中断服务程序。务程序。(4)中断服务中断服务 当中断源向当中断源向CPU发出中断请求信号发出中断请求信号INTR之后,
37、之后,CPU进行一定的判优处理。若决定响应这个中断请进行一定的判优处理。若决定响应这个中断请求,则向中断源发出中断响应信号。求,则向中断源发出中断响应信号。中断源接到信号后就通过自己的向量部件形成中断源接到信号后就通过自己的向量部件形成地址向地址向CPU发送向量地址,发送向量地址,CPU接收该向量地址之接收该向量地址之后就可以转入相应的中断服务程序。后就可以转入相应的中断服务程序。(5)断点保护与返回断点保护与返回 发生中断时发生中断时CPU的主要状态就是断点的主要状态就是断点,另外,另外还有一些还有一些通用寄存器的状态通用寄存器的状态。之所以需要保护和恢。之所以需要保护和恢复现场的原因:因为
38、复现场的原因:因为CPU要先后执行两个完全不同要先后执行两个完全不同的程序(现行程序和中断服务程序),必须进行两的程序(现行程序和中断服务程序),必须进行两种程序运行状态的转换。种程序运行状态的转换。中中断断处处理理过过程程 中断处理过程基本上由中断处理过程基本上由3部分组成。部分组成。准备部分:准备部分:基本功能是保护现场,对于非向量基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序。更高级的中断请求打断低级的中断服务程序。处理部分:处理部分:即真正执行具体的为某个中断源服即真正执行具体
39、的为某个中断源服务的中断服务程序。务的中断服务程序。结尾部分:结尾部分:首先要关中断,以防止在恢复现首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其然后开放中断,以便返回原来的程序后可响应其他的中断请求。他的中断请求。中断服务程序的最后一条指令一定是中断服务程序的最后一条指令一定是中断返回指令中断返回指令。(1)正确地找到对应的中断服务程序正确地找到对应的中断服务程序 的入口地址。的入口地址。(2)为中断返回作好准备。为中断返回作好准备。(3)保证中断响应的完整性。保证中断响应的完整性。中
40、断处理阶段主要解决三个问题:中断处理阶段主要解决三个问题:实现实现CPU和外围设备并行工作。和外围设备并行工作。监督现行程序,提高系统处理故障的能力,增强监督现行程序,提高系统处理故障的能力,增强系统的可靠性。系统的可靠性。实现分时操作。实现分时操作。实现实时处理。实现实时处理。实现人机交换。实现人机交换。2.3 中断系统的作用中断系统的作用 总之,中断系统在计算机中具有很重要的作用。总之,中断系统在计算机中具有很重要的作用。与操作系统关系密切,在很多方面,操作系统是借助与操作系统关系密切,在很多方面,操作系统是借助中断系统来控制和管理计算机系统的。中断系统来控制和管理计算机系统的。准备工作准
41、备工作准备工作准备工作准备工作准备工作传送数据传送数据传送数据传送数据发中断请求发中断请求发中断请求发中断请求I/O 宏观宏观上上CPU和和I/O并行并行工作;工作;微观微观上上CPU中断中断现行程序现行程序为为 I/O 服务。服务。主程序主程序继续执行主程序继续执行主程序启动外设启动外设 服务程序服务程序(传送数据)(传送数据)服务程序服务程序(传送数据)(传送数据)继续执行主程序继续执行主程序CPUCAS2CAS1CAS0SP/EN数据总线缓冲器读/写逻辑级连缓冲/比较器控 制 逻 辑当前中断服务寄存器(ISR)优先权裁决电路(PR)中断请求寄存器(IRR)中断屏蔽寄存器(IMR)IR0I
42、R1IR7INTD7D0RDWRA0CSINTA2.4 中断控制器中断控制器8259 特点:特点:CPU不必时刻查询外设的情况,不出不必时刻查询外设的情况,不出现现“踏步踏步”。外设提出请求时,。外设提出请求时,CPU给予响应。给予响应。CPU与与I/O设备处于并行工作状态,工作效率明设备处于并行工作状态,工作效率明显提高。显提高。程序中断不仅适用于外部设备的输入输出程序中断不仅适用于外部设备的输入输出操作,也适用于外界发生随机事件的处理。但操作,也适用于外界发生随机事件的处理。但是完成一次程序中断还需要许多辅助操作,主是完成一次程序中断还需要许多辅助操作,主要适用于中、低速外设。要适用于中、
43、低速外设。一位总经理要从三个优秀的人中选择一位做助手,他一位总经理要从三个优秀的人中选择一位做助手,他再三权衡,难下结论,最后索性带着他们去打猎。再三权衡,难下结论,最后索性带着他们去打猎。到达目的地,在开始行动之前,总经理问:你们看到到达目的地,在开始行动之前,总经理问:你们看到了什么?甲说:看到了一望无际的草原、蓝天、白云,还了什么?甲说:看到了一望无际的草原、蓝天、白云,还有奔跑的野兔。乙:看到了经理、同事、猎枪、眼前优美有奔跑的野兔。乙:看到了经理、同事、猎枪、眼前优美的景色,还有奔跑的野兔。丙说:只看到了野兔。的景色,还有奔跑的野兔。丙说:只看到了野兔。回到公司,丙成为总经理助手。回
44、到公司,丙成为总经理助手。3.DMA 方式方式 无论程序查询还是程序中断方式,主要的工作都无论程序查询还是程序中断方式,主要的工作都是由是由CPU执行程序来完成,这就需要花费执行程序来完成,这就需要花费CPU时间,时间,因此不能实现高速外设与主机的信息交换。因此不能实现高速外设与主机的信息交换。为了把为了把CPU控制外设进行数据交换的工作解脱出控制外设进行数据交换的工作解脱出来,就需要在外部设备和主存储器之间开辟来,就需要在外部设备和主存储器之间开辟一条数据一条数据交换的通道交换的通道,这就,这就直接存储器访问方式直接存储器访问方式(DMA)。DMA 和程序中断方式的数据通路和程序中断方式的数
45、据通路CPU主主存存ACC 中断接口中断接口DMA 接口接口I/O 设设 备备中断方式数据传送通路中断方式数据传送通路输入指令输入指令输出指令输出指令DMA方式数据传送通路方式数据传送通路 DMA方式工作思想:方式工作思想:在外设和主存之间开辟一在外设和主存之间开辟一条条“直接数据通道直接数据通道”,既不需要,既不需要CPU干预,也不需要干预,也不需要软件介入的情况下两者之间进行高速数据传送。软件介入的情况下两者之间进行高速数据传送。DMA方式中,数据传送过程进行控制的硬件设方式中,数据传送过程进行控制的硬件设备称为备称为DMA控制器。当外设需要进行数据传送时,控制器。当外设需要进行数据传送时
46、,通过通过DMA控制器向控制器向CPU提出提出DMA传送请求,传送请求,CPU响响应之后将让出系统总线,由应之后将让出系统总线,由DMA控制器接管总线进控制器接管总线进行数据传送。行数据传送。3.1 DMA方式的特点方式的特点 (1)改变了改变了内存与内存与CPU的固定联系的固定联系,使它们之间,使它们之间脱离。内存既可被脱离。内存既可被CPU访问,又可被外设访问。访问,又可被外设访问。(2)在数据块传输时,内存地址的确定、传输数据在数据块传输时,内存地址的确定、传输数据的计数等都用的计数等都用硬件电路直接实现硬件电路直接实现。(4)DMA传输传输速度快速度快,CPU和外设和外设并行并行工作,
47、提工作,提高了系统的效率。高了系统的效率。(5)DMA在传输开始前要通过程序进行在传输开始前要通过程序进行预处理预处理,结束后要通过中断方式进行结束后要通过中断方式进行后处理后处理。(3)内存中要开辟内存中要开辟专用缓冲区专用缓冲区,及时供给和接收,及时供给和接收外设的数据。外设的数据。CPU和和DMA控制器都可以作为主控设备,控制器都可以作为主控设备,它们可以分时控制总线,实现内存和外围设备它们可以分时控制总线,实现内存和外围设备之间的数据传送。之间的数据传送。3.2 DMA与主存交换数据与主存交换数据 DMA控制器和控制器和CPU分时使用总线的方式有分时使用总线的方式有以下三种:以下三种:
48、停止停止CPU访问访问、周期挪用周期挪用、DMA和和CPU交替访问内存交替访问内存。DMA控制器发出请求信号迫使控制器发出请求信号迫使CPU让出总线控制权。让出总线控制权。CPU在现行机器周期执行完成之后,使其数据、地址总在现行机器周期执行完成之后,使其数据、地址总线处于三态,并输出总线批准信号。线处于三态,并输出总线批准信号。每次每次DMA请求获得批准,请求获得批准,DMA控制器获得总线控控制器获得总线控制权以后,连续占用若干个存取周期(总线周期)进行制权以后,连续占用若干个存取周期(总线周期)进行成组连续的数据传送,直至批量传送结束,成组连续的数据传送,直至批量传送结束,DMA控制器控制器
49、才把总线控制权交回才把总线控制权交回CPU。(1)停止停止CPU访问主存访问主存主存工作时间主存工作时间CPU不执行程序不执行程序DMA不工作不工作DMA不工作不工作DMA工作工作 CPU控制控制并使用主存并使用主存 DMA控制控制并使用主存并使用主存t 优点:优点:控制简单,适用于高速的外围设备与内存之间实控制简单,适用于高速的外围设备与内存之间实现成组的数据传送。现成组的数据传送。缺点:缺点:外设和内存传送两个数据的时间间隔一般总是大外设和内存传送两个数据的时间间隔一般总是大于内存存储周期,因此内存的效率未能充分发挥。于内存存储周期,因此内存的效率未能充分发挥。(2)周期挪用周期挪用(周期
50、窃取周期窃取)当外设没有当外设没有DMA请求时,请求时,CPU按程序要求访问主按程序要求访问主存;一旦外设有存;一旦外设有DMA请求并获得请求并获得CPU批准后,批准后,CPU让让出一个周期的总线控制权,由出一个周期的总线控制权,由DMA控制器控制系统总控制器控制系统总线,挪用一个存取周期进行一次数据传送,传送一个线,挪用一个存取周期进行一次数据传送,传送一个字节或一个字。字节或一个字。结束后,结束后,DMA控制器将总线控制权交回控制器将总线控制权交回CPU,CPU继续进行自己的操作,等待下一个继续进行自己的操作,等待下一个DMA请求的到请求的到来。重复上述过程,直至数据块传送完毕。来。重复上