1、1第八章第八章 输入输入/输出系统输出系统一、定时方式与信息交换方式一、定时方式与信息交换方式二、程序中断方式二、程序中断方式三、三、DMA方式方式四、通道方式四、通道方式2一、外围设备的定时方式与信息交换方式一、外围设备的定时方式与信息交换方式 输入输入/输出:输出:是外部设备与是外部设备与CPU或主存系统之间信息交换或主存系统之间信息交换的过程。的过程。 输入输出设备同输入输出设备同CPU交换数据的过程:交换数据的过程: u输入过程输入过程: lCPU送地址送地址选择选择某一输入设备;某一输入设备; lCPU等候等候数据数据成为成为有效有效; lCPU读读入数据,入数据,存存入相应的寄存器
2、中。入相应的寄存器中。u输出过程输出过程: lCPU送地址送地址选择选择某一输出设备;某一输出设备; lCPU把数据放在把数据放在数据总线数据总线上;上; l输出设备输出设备取取数据。数据。 3 CPU与外设之间定时方式:与外设之间定时方式:与速度相关与速度相关。u速度极慢或简单的外设:直接交换。速度极慢或简单的外设:直接交换。u中速的外设:采用应答式交换,即异步定时方式中速的外设:采用应答式交换,即异步定时方式。u高速外设:同步定时方式高速外设:同步定时方式 主机与外设信息交换方式主机与外设信息交换方式u直接程序控制方式:直接程序控制方式:CPU通过通过I/O 指令指令对对I/O设备进行设备
3、进行访问,主机与外设交换信息的每一过程均在程序中表访问,主机与外设交换信息的每一过程均在程序中表示出来示出来 。l立即程序传送方式:立即程序传送方式:不询问外设状态,根据程序情不询问外设状态,根据程序情况随时向外设传送数据。况随时向外设传送数据。l程序查询方式程序查询方式:根据外设的工作状态,在相应外设:根据外设的工作状态,在相应外设准备好时再向外设传送数据。准备好时再向外设传送数据。优点:操作简单。优点:操作简单。缺点:缺点:CPU效率低效率低。4 主机与外设信息交换方式(续)主机与外设信息交换方式(续)u程序中断方式:程序中断方式:当有某些随机事件发生时当有某些随机事件发生时CPU暂停执行
4、当暂停执行当前的程序,转去执行引起中断的程序,处理完后再返回继续前的程序,转去执行引起中断的程序,处理完后再返回继续执行原程序执行原程序。l优点优点: CPU效率高;效率高;l缺点:大批量传送速度慢。缺点:大批量传送速度慢。u直接内存访问(直接内存访问(DMA)方式:)方式:通过硬件控制总线,实现主通过硬件控制总线,实现主存与存与I/O设备间的直接数据传送,在传送过程中无需设备间的直接数据传送,在传送过程中无需CPU程程序干预序干预 。l优点:优点:CPU效率高,速度快,适合大批量数据传送;效率高,速度快,适合大批量数据传送;l缺点:增加硬件。缺点:增加硬件。u通道方式:通过执行通道(一种专用
5、控制器)程序进行通道方式:通过执行通道(一种专用控制器)程序进行I/O操作的管理。操作的管理。u外围处理机方式:功能更强的通道方式。外围处理机方式:功能更强的通道方式。主机对外设的控制方式IOP处理机方式中断方式程序查询方式DMA方式通道方式主要由程序完成主要由附加硬件来完成5二、程序中断方式二、程序中断方式1 中断概念中断概念中断(程序中断):中断(程序中断):当有某些随机事件发生时当有某些随机事件发生时CPU暂停执行当前的程序,转去执行引起中断的暂停执行当前的程序,转去执行引起中断的程序,处理完后再返回继续执行原程序。程序,处理完后再返回继续执行原程序。中断特征:中断特征:程序转换和随机性
6、、排优性程序转换和随机性、排优性。中断作用:中断作用:u实现实现CPU与外设并行工作;与外设并行工作;u提高系统处理故障的能力,增强系统的可靠性;提高系统处理故障的能力,增强系统的可靠性;u实现实时处理;实现实时处理;u系统调度;系统调度;u实现人机交换;实现人机交换;u实现多机通信。实现多机通信。6 中断处理过程的流程中断处理过程的流程u中断请求中断请求:中断源(分成可屏蔽:中断源(分成可屏蔽中断和非屏蔽中断)请求中断和非屏蔽中断)请求CPU为为自己服务的过程;自己服务的过程;u排优排优:当有几个中断同时请求时,:当有几个中断同时请求时,按照优先排队顺序响应;按照优先排队顺序响应;u中断响应
7、中断响应: (硬件完成)(硬件完成)lCPU进入中断响应周期(进入中断响应周期(INTA),),如是非屏蔽中断马上响应;如是可如是非屏蔽中断马上响应;如是可屏蔽中断则在中断允许有效(屏蔽中断则在中断允许有效(IM=0)下响应中断;下响应中断;l保存程序计数器值和状态寄存器值,保存程序计数器值和状态寄存器值,关中断允许标志(关中断允许标志(EI=0),读中断),读中断服务程序入口地址。服务程序入口地址。u中断处理中断处理:(即运行中断服务子:(即运行中断服务子程序)保护现场,执行中断服务程序)保护现场,执行中断服务程序,恢复现场。程序,恢复现场。u中断返回中断返回:恢复被中断程序处地:恢复被中断
8、程序处地址,继续执行原程序。址,继续执行原程序。中断请求处理中断响应中断保存主程序现场识别中断源,保存PC 开中断关中断恢复主程序现场取指令执行指令查询中断72 程序中断方式的基本接口程序中断方式的基本接口 中断基本接口模型中断基本接口模型uBS:启动接口工作:启动接口工作标志标志触发器。触发器。uRD:外设准备就绪:外设准备就绪标志标志触发器。触发器。uEI:允许外设中断触发器。:允许外设中断触发器。u中断向量逻辑中断向量逻辑:形成中断服务子程序的入口地址。:形成中断服务子程序的入口地址。u数据缓冲寄存器数据缓冲寄存器:暂存数据。:暂存数据。u设备选择设备选择: 地址译码逻辑。地址译码逻辑。
9、1234567891083 单级中断:单级中断:所有中断优先级相同,一旦响应一个中断后,只有所有中断优先级相同,一旦响应一个中断后,只有服务完才可响应其他中断。服务完才可响应其他中断。系统结构:公共请求线方式。系统结构:公共请求线方式。中断源识别方式:链式查询方式中断源识别方式:链式查询方式u查询顺序决定优先级。查询顺序决定优先级。9向量地址向量地址:当:当CPU响应中断时,由硬件直接产生响应中断时,由硬件直接产生一个固定的地址,即向量地址。由向量地址指出每一个固定的地址,即向量地址。由向量地址指出每个中断源设备的中断服务程序入口,此方法称为向个中断源设备的中断服务程序入口,此方法称为向量中断
10、。量中断。u一级向量方式一级向量方式:地址码直接对应中断程序入口地址;:地址码直接对应中断程序入口地址;u二级向量方式二级向量方式:地址码对应中断程序入口地址的地址。:地址码对应中断程序入口地址的地址。104 多级中断:多级中断: 中断处理有不同的优先级,可以实现中断嵌套。中断处理有不同的优先级,可以实现中断嵌套。u一维中断一维中断:同一个优先级里只有一个中断源。:同一个优先级里只有一个中断源。u二维中断二维中断:同一个优先级里有多个中断源。:同一个优先级里有多个中断源。 特点特点u每级中断,每级中断,CPU中都有相应的中断请求触发器,及中断屏中都有相应的中断请求触发器,及中断屏蔽触发器。蔽触
11、发器。 u在多级中断之间可以实现中断嵌套,但在同一级不可以。在多级中断之间可以实现中断嵌套,但在同一级不可以。u中断优先顺序由硬件设定。中断优先顺序由硬件设定。u由中断堆栈按顺序保护现场。由中断堆栈按顺序保护现场。 中断源识别方法:设计专门的优先排队逻辑和向量逻辑。中断源识别方法:设计专门的优先排队逻辑和向量逻辑。11例例1、参见下图。请问:、参见下图。请问: (1)在中断情况下,设备的优先级如何考虑在中断情况下,设备的优先级如何考虑?请按降序排列。请按降序排列。 ABC DEFGH I 。 (2)若若CPU现执行设备现执行设备B的中断服务程序,的中断服务程序,IM2,IM1,IM0的状的状态
12、是什么态是什么? 若执行设若执行设 备备D,IM2,IM1,IM0的状态又是什么的状态又是什么? 执行执行B时,时,IM2IM1IM0=111; 执行执行D时:时: IM2IM1IM0=011。(3)每一级的每一级的IM能否对某个优先级的个别设备单独进行屏蔽能否对某个优先级的个别设备单独进行屏蔽?如果如果不能,采取什么办法可达到目的不能,采取什么办法可达到目的? 不能。可利用接口中的不能。可利用接口中的EI(中断允许中断允许)标志,禁止设备发请求。标志,禁止设备发请求。(4)假如设备假如设备C一提出中断请求,就被响应,如何调整。一提出中断请求,就被响应,如何调整。 可将设备可将设备C单独放在第
13、单独放在第3级上,并使第级上,并使第3级的优先级最高。级的优先级最高。12例例2 :某计算机系统共有五级中断,其中断响应优先级从高到:某计算机系统共有五级中断,其中断响应优先级从高到低为低为12 3 4 5。现按如下规定修改:各级中断处理。现按如下规定修改:各级中断处理时均屏蔽本级中断,且处理时均屏蔽本级中断,且处理1级中断时屏蔽级中断时屏蔽2、3、4和和5级中级中断;处理断;处理2级中断时屏蔽级中断时屏蔽3、4、5级中断;处理级中断;处理4级中断时不级中断时不屏蔽其他级中断;处理屏蔽其他级中断;处理3级中断时屏蔽级中断时屏蔽4级和级和5级中断;处理级中断;处理5级中断时屏蔽级中断时屏蔽4级中
14、断。试问中断处理优先级级中断。试问中断处理优先级(从高到低从高到低)顺序顺序如何排列如何排列?并给出各级中断处理程序的中断屏蔽字并给出各级中断处理程序的中断屏蔽字?(设(设“0”为允许,为允许,“1”为禁止。)为禁止。) 解:实际中断处理优先级解:实际中断处理优先级(从高到低从高到低)顺序应为顺序应为 1 2 3 5 4。 1级中断屏蔽字为级中断屏蔽字为 11111: 2级中断屏蔽字为级中断屏蔽字为 01111; 3级中断屏蔽字为级中断屏蔽字为 00111; 4级中断屏蔽字为级中断屏蔽字为 00010; 5级中断屏蔽字为级中断屏蔽字为 00011。 13例例3 某计算机有四级中断,优先级从高到
15、低为某计算机有四级中断,优先级从高到低为ABCD。假定各级中段程序的屏蔽位设置为:。假定各级中段程序的屏蔽位设置为:A:1101;B:0100;C:1111;D:0101 。请给出中。请给出中断处理次序。设断处理次序。设A、B、C、D同时请求中断,试画同时请求中断,试画出出CPU执行程序的轨迹。执行程序的轨迹。 解:中断处理次序:解:中断处理次序:CADB。D级C级B级A级A、B、C、D 同时请求中断14 【例【例4】参见例】参见例1所示的系统,只考虑所示的系统,只考虑A,B,C三个设备三个设备组成的单级中断结构,它要求组成的单级中断结构,它要求CPU在执行完当前指令时对在执行完当前指令时对中
16、断请求进行服务。假设:中断请求进行服务。假设:(1)CPU“中断批准中断批准”机构在响机构在响应一个新的应一个新的 中断之前,先要让被中断的程序的一条指令中断之前,先要让被中断的程序的一条指令一定要执行完毕;一定要执行完毕;(2)TDC为查询链中每个设备的延迟时为查询链中每个设备的延迟时间;间;(3)TA,TB,TC分别为设备分别为设备A,B,C的服务程序所的服务程序所需的执行时间;需的执行时间; (4)TS,TR为保存现场和恢复现场所需的为保存现场和恢复现场所需的时间;时间;(5)主存工作周期为主存工作周期为TM。 试问:就这个中断请求环试问:就这个中断请求环境来说,系统在什么情况下达到中断
17、饱和境来说,系统在什么情况下达到中断饱和? 【解【解】 假设执行一条指令的时间也为假设执行一条指令的时间也为TM。如果三个设备同时发。如果三个设备同时发出中断请求,那么依次分别处理设备出中断请求,那么依次分别处理设备A、设备、设备B、设备、设备C的的时间如下:时间如下: tA = 2TM + TDC + TS + TA + TR tB = 2TM + 2TDC + TS + TB + TR tC = 2TM + 3TDC + TS + TC + TR 处理三个设备所需的总时间为:处理三个设备所需的总时间为:T=tA+tB+tC T是达到中断饱和的最小时间,即中断极限频率为:是达到中断饱和的最小
18、时间,即中断极限频率为:f=1/T155 中断控制器:中断控制器:微机系统中,常将其中可公用的中断控制逻辑从微机系统中,常将其中可公用的中断控制逻辑从I/O接口中分离出来,集成芯片来实现向量产生、排优接口中分离出来,集成芯片来实现向量产生、排优电路、中断屏蔽等中断控制逻辑。电路、中断屏蔽等中断控制逻辑。例例8259:可编程中断控制器:可编程中断控制器u8259可管理可管理8路中断请求路中断请求IR0IR7 ,通过级联方式,最,通过级联方式,最多可扩展为多可扩展为64级中断。具有多种工作模式。级中断。具有多种工作模式。16三、三、DMADMA方式方式1 概念概念 特点:特点:通过硬件控制总线实现
19、通过硬件控制总线实现主存主存与与I/O设备间的直接数据设备间的直接数据传送,在传送过程中无需传送,在传送过程中无需CPU程序干预程序干预 。 工作原理:工作原理:CPU释放总线的控制权,由释放总线的控制权,由DMA控制器接管总控制器接管总线,向总线发出地址和控制信号、修改总线地址、对传送线,向总线发出地址和控制信号、修改总线地址、对传送的数据字进行计数,并以中断的方式向的数据字进行计数,并以中断的方式向CPU报告传送操作报告传送操作的结束的结束。CPU内存DMA控制器I/O设备I/O请求D请求响应DMA工作方式原理图17DMA的基本工作处理过程的基本工作处理过程uDMA请求请求:接口通过控制逻
20、辑向:接口通过控制逻辑向 CPU 发发DMA请求信号。请求信号。uDMA响应响应:CPU将对总线输出置成高阻状将对总线输出置成高阻状态,将总线控制权交给态,将总线控制权交给DMA控制器。控制器。uDMA数据传送数据传送:DMA控制器发总线信号,控制器发总线信号,在主存和在主存和I/O 寄存器寄存器 之间传送一次数据。之间传送一次数据。u结束处理结束处理:数据传送完后,发中断请求,:数据传送完后,发中断请求,通知通知CPU进行后处理。进行后处理。DMA过程DMA请求DMA响应结束处理返回DMA传送DMA工作过程流程图单字、多字182 DMA传送方式传送方式CPU与与DMA控制器控制内存访问方式控
21、制器控制内存访问方式u停止停止CPU访问内存访问内存:l优点优点: 控制简单,适用于数据传输率很高的设备进行成控制简单,适用于数据传输率很高的设备进行成组传送。组传送。l缺点缺点: 内存的效能没有充分发挥。内存的效能没有充分发挥。u周期挪用周期挪用:指在:指在CPU执行访内指令的过程中插入执行访内指令的过程中插入DMA请请求,挪用了一二个内存周期。求,挪用了一二个内存周期。 l优点:可以提高优点:可以提高CPU和内存的效率,适用于和内存的效率,适用于I/O设备读设备读写周期大于内存存储周期的情况。写周期大于内存存储周期的情况。 l缺点:申请频繁,速度较慢。缺点:申请频繁,速度较慢。19CPU与
22、与DMA控制器控制内存访问方式控制器控制内存访问方式uDMA与与CPU交替访内交替访内:DMA与与CPU分时交替访问内分时交替访问内存。存。l优点优点: DMA不需申请,适用于不需申请,适用于CPU工作周期比内存工作周期比内存周期长的系统。周期长的系统。l缺点缺点: 设计复杂。设计复杂。203 基本的基本的DMA控制器结构:控制器结构:u地址计数器:用于存放内存中要交换的数据的地址。地址计数器:用于存放内存中要交换的数据的地址。 u字计数器:用于记录传送数据块的长度字计数器:用于记录传送数据块的长度(多少字数多少字数)。 u数据缓冲寄存器:用于暂存每次传送的数据数据缓冲寄存器:用于暂存每次传送
23、的数据(一个字一个字)。 uDMA请求标志请求标志:产生产生DMA请求信号控制逻辑;请求信号控制逻辑;u控制状态逻辑:由控制和时序电路、状态标志等组成;控制状态逻辑:由控制和时序电路、状态标志等组成;u中断机构:数据传送完后产生中断请求信号。中断机构:数据传送完后产生中断请求信号。DMA控制器逻辑结构图CPU内存中断机构地址计数器字计数器数据缓冲寄存器控制状态逻辑DMA请求标志I/O设备中断请求+1+1数据外围设备请求DMA请求DMA响应溢出信号总线请求HRQ总线请求响应HLDA当有多个DMA控制器时可以采用独立请求、公共请求和级联等方式21 数据传送过程:数据传送过程:传送前预处理、正式传送
24、、传送后处理。传送前预处理、正式传送、传送后处理。 设:由外设向内存传送,采用停止设:由外设向内存传送,采用停止CPU访问方式访问方式uCPU初始化初始化DMA控制器,选择设备。控制器,选择设备。u外设向外设向DMA控制请求控制请求DMA传送;传送;u若该通道未被屏蔽,且无更高优先级若该通道未被屏蔽,且无更高优先级DMA通道正在工作,通道正在工作,则则DMA控制器向控制器向CPU发总线请求信号;发总线请求信号;uCPU结束当前正在进行的基本操作后,释放总线的控制结束当前正在进行的基本操作后,释放总线的控制权,向权,向DMA控制器发一个总线响应信号;控制器发一个总线响应信号;uDMA控制器接受总
25、线响应信号后,向控制器接受总线响应信号后,向I/O传递;传递;uDMA控制器将地址寄存器的内容发往地址总线,同时发控制器将地址寄存器的内容发往地址总线,同时发I/O读和存储器写等控制信号,以传送一个字数据。读和存储器写等控制信号,以传送一个字数据。u地址寄存器加地址寄存器加1,字计数器加,字计数器加1;u若为单字传送,则若为单字传送,则DMA过程结束,若为成组传送,则判过程结束,若为成组传送,则判断计数器是否溢出,重复上述传送过程;断计数器是否溢出,重复上述传送过程;uDMA结束,发中断请求,归还总线控制权。结束,发中断请求,归还总线控制权。uCPU执行中断服务程序,做后处理工作。执行中断服务
26、程序,做后处理工作。224 选择型和多路型选择型和多路型DMA控制器控制器u选择型选择型DMA控制器:控制器: DMA控制逻辑与控制逻辑与I/O接口合并为一个接口合并为一个整体,并可通过设备选择逻辑控制多台整体,并可通过设备选择逻辑控制多台I/O设备,但逻辑设备,但逻辑上只允许连接一个设备;上只允许连接一个设备;u多路型多路型DMA控制器:控制器:DMA控制逻辑公用部分与控制逻辑公用部分与I/O接口分接口分离,形成专用离,形成专用DMA控制器。多路型可同时控制多个设备控制器。多路型可同时控制多个设备工作。当多个外设同时发工作。当多个外设同时发DMA请求时,根据判优逻辑响请求时,根据判优逻辑响应
27、优先级高的请求。应优先级高的请求。选择型23 【例【例5图中假设有磁盘、磁带、打印机三个设备同时工作。图中假设有磁盘、磁带、打印机三个设备同时工作。磁盘以磁盘以30s的间隔向控制器发的间隔向控制器发DMA请求,磁带以请求,磁带以45s的的间隔发间隔发DMA请求,打印机以请求,打印机以150s间隔发间隔发DMA请求。根请求。根据传输速率,磁盘优先权最高,磁带次之,打印机最低,据传输速率,磁盘优先权最高,磁带次之,打印机最低,图中假设图中假设DMA控制器每完成一次控制器每完成一次DMA传送所需的时间是传送所需的时间是5s。若采用多路型。若采用多路型DMA控制器,请画出控制器,请画出DMA控制器服控
28、制器服务三个设备的工作时间图。务三个设备的工作时间图。24四、四、通道方式通道方式 通道:一种专用处理器,通过执行通道程序进行通道:一种专用处理器,通过执行通道程序进行I/O操作的操作的管理,为主机与管理,为主机与I/O设备提供数据传送通道。设备提供数据传送通道。 通道的功能:通道的功能:u接收接收CPU的的I/O指令,按指令要求与指定的外围设备进行指令,按指令要求与指定的外围设备进行通信;通信;u从内存中或自己的局部存储器中取通道指令,经译码后从内存中或自己的局部存储器中取通道指令,经译码后向向I/O发命令;发命令;u组织外设与内存之间进行数据传送,并根据需要提供数组织外设与内存之间进行数据
29、传送,并根据需要提供数据传送的缓存空间,提供数据存入内存的地址和传送的据传送的缓存空间,提供数据存入内存的地址和传送的数据量;数据量;u获取外设的状态信息,并将其存入内存,供获取外设的状态信息,并将其存入内存,供CPU使用;使用;u通过中断方式报告通过中断方式报告I/O设备及其本身的工作情况。设备及其本身的工作情况。25 通道的种类:通道的种类: 选择通道:当连接多台外设时,选择通道:当连接多台外设时,一次只选择一个外设,成组传送一次只选择一个外设,成组传送数据完成后才可选择其他外设,数据完成后才可选择其他外设,用于连接多台高速外设;用于连接多台高速外设; 数组多路通道:当某设备进行数数组多路
30、通道:当某设备进行数据传输时,通道只为该设备服务;据传输时,通道只为该设备服务;当设备在进行寻址等控制性操作当设备在进行寻址等控制性操作时,通道暂时断开与该设备连接,时,通道暂时断开与该设备连接,挂起该设备的通道程序,去为其挂起该设备的通道程序,去为其他设备服务;他设备服务; 字节多路通道:以字节为单位采字节多路通道:以字节为单位采用分时交叉方式传送多台外设的用分时交叉方式传送多台外设的数据;用于连接多台低速外设;数据;用于连接多台低速外设;26五、五、通用通用I/OI/O标准接口标准接口 SCSI标准:小型计算机系统接口,系统级接口,处于主适标准:小型计算机系统接口,系统级接口,处于主适配器
31、和智能设备控制器之间的并行接口,最高速率配器和智能设备控制器之间的并行接口,最高速率40MB/s,常用于服务器,一般常用于服务器,一般SCSI接口与设备是分离的接口与设备是分离的。分成。分成SCSI-1,SCSI-2,SCSI-3,串行,串行SCSI。SCSI接口卡SCSI设备数据总线输入/输出选择状态联络SCSI接口模型奇偶校验传送控制与联络27五、五、通用通用I/OI/O标准接口标准接口 IEEE1394:高速串行接口,最高速率:高速串行接口,最高速率400Mb/s,是一种外,是一种外部串行总线标准部串行总线标准 ,常用于新型高速硬盘和多媒体数据传送。,常用于新型高速硬盘和多媒体数据传送。 USB:通用串行总线支持热插拔,即插即用的优点,分成:通用串行总线支持热插拔,即插即用的优点,分成USB1.0,USB2.0 ,最高速率,最高速率480Mb/s。 28五、五、通用通用I/OI/O标准接口标准接口 ATA接口:接口:IDE硬盘接口,分为硬盘接口,分为ATA-1、ATA-2、到、到ATA-7(速率(速率133MB/s及及Serial ATA(150MB/s)。接口与驱动电路硬盘盘体数据总线数据读写选通DMA请求/应答中断请求硬盘选择编程端口选择检测/同步 ATA接口模型状态联络