版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主讲教师 庄春兴 计算机的输入输出系统简称为计算机的输入输出系统简称为IO系统,它包括系统,它包括p本章内容:本章内容:p 外围设备的定时方式和信息交换方式外围设备的定时方式和信息交换方式p 重点介绍程序中断方式、重点介绍程序中断方式、DMA方式、通道方式方式、通道方式p 介绍通用并行介绍通用并行IO标准接口标准接口SCSI IO接口接口 I O管理部件管理部件 有关软件有关软件 一个计算机系统的综合处理能力,系统的可扩展性、一个计算机系统的综合处理能力,系统的可扩展性、兼容性和性能价格比,都和兼容性和性能价格比,都和IO系统有密切关系系统有密切关系。8.1.1 8.1.1 外围设备的定时方式
2、外围设备的定时方式p外围设备的种类很多;外围设备的种类很多;p其输入信号,可以是数字式的电压,也可以其输入信号,可以是数字式的电压,也可以是是模拟式的电压和电流。模拟式的电压和电流。p数据传输速率来讲,相差也很悬殊。数据传输速率来讲,相差也很悬殊。 首先遇到的一个问题,就是如何保证主机首先遇到的一个问题,就是如何保证主机与外围设备在与外围设备在时间上同步p输入输出设备同输入输出设备同CPU交换数据的过程输入过程三个步骤;交换数据的过程输入过程三个步骤; (1)CPU把一个地址放在地址总线上,选择某一输入设备;把一个地址放在地址总线上,选择某一输入设备; (2)CPU等候输入设备的数据成为有效;
3、等候输入设备的数据成为有效; (3)CPU从数据总线读入数据,并放在一个相应的寄存器中。从数据总线读入数据,并放在一个相应的寄存器中。p输出过程三个步骤:输出过程三个步骤: (1)CPU把一个地址值放在地址总线上,选择输出设备;把一个地址值放在地址总线上,选择输出设备; (2)CPU把数据放在数据总线上;把数据放在数据总线上; (3)输出设备认为数据有效,从而把数据取走。输出设备认为数据有效,从而把数据取走。 对这类设备,如机械开关、显示二极管等等,对这类设备,如机械开关、显示二极管等等,CPUCPU总是能足够快地作出响应总是能足够快地作出响应。 由于输入输出设备本身的速度差异很大,因此,对于
4、不同由于输入输出设备本身的速度差异很大,因此,对于不同速度的外围设备,需要有不同的定时方式。速度的外围设备,需要有不同的定时方式。CPUCPU与外围设备之间的定时,有以下三种情况。与外围设备之间的定时,有以下三种情况。 从输入输出过程看,问题的关键就在于;究竟什么时候从输入输出过程看,问题的关键就在于;究竟什么时候数据才成为有效数据才成为有效? ?1. 1. 速度极慢或简单的外围设备速度极慢或简单的外围设备 由于这类设备的速度和由于这类设备的速度和CPUCPU的速度并不在一个数量级,或的速度并不在一个数量级,或者由于设备者由于设备( (如键盘如键盘) )本身是在不规则时间间隔下操作的,因此,本
5、身是在不规则时间间隔下操作的,因此,CPUCPU与这类设备之间的数据交换通常采用与这类设备之间的数据交换通常采用: :异步定时方式异步定时方式其定时过程如下:其定时过程如下:2 2慢速或中速的外围设备慢速或中速的外围设备 通常,把这种在通常,把这种在CPUCPU和外设间用问答信和外设间用问答信号进行定时的方式叫号进行定时的方式叫应答式数据交换应答式数据交换外设先发出请求输出信号,外设先发出请求输出信号,CPUCPU询问外设是否准备就绪。询问外设是否准备就绪。如果外设已准备就绪,如果外设已准备就绪,CPUCPU便发出准备就便发出准备就绪信号,并送出数据绪信号,并送出数据外设接收数据以后,将向外设
6、接收数据以后,将向CPUCPU发出发出数数据已经取走据已经取走的通知的通知p 一旦一旦 CPU CPU 和外设发生同步,它们之间的数据交换便靠时钟脉和外设发生同步,它们之间的数据交换便靠时钟脉冲控制来进行。冲控制来进行。3 3高速的外围设备高速的外围设备 由于这类外设是以相等的时间间隔操作的,而由于这类外设是以相等的时间间隔操作的,而CPU CPU 也是以等间隔的速率执行输入输出指令的,也是以等间隔的速率执行输入输出指令的,因此。因此。 更快的同步传送要采用直接内存访问更快的同步传送要采用直接内存访问( (DMA)DMA)方式方式这种方式叫做同步同步定时方式这种方式叫做同步同步定时方式CPU
7、管理外围设备的方式。管理外围设备的方式。 1程序查询方式程序查询方式 2程序中断方式程序中断方式 3直接内存访问直接内存访问( (DMA)DMA)方式方式 4 4通道方式通道方式 5外围处理机方式外围处理机方式p 数据在数据在CPU和外围设备之间的传送完全靠计算机程序控制和外围设备之间的传送完全靠计算机程序控制。 中断是外围设备用来中断是外围设备用来主动主动通知通知CPU,准备送出输入数据准备送出输入数据 或接收输出数据的一种方法。或接收输出数据的一种方法。优点优点: CPU 的操作和外围设备的操作能够同步,而且的操作和外围设备的操作能够同步,而且硬件结构比较简单硬件结构比较简单问题问题:外围
8、设备动作很慢,程序进入查询循环时将白白浪费外围设备动作很慢,程序进入查询循环时将白白浪费掉掉 CPU 很多时间。很多时间。 同程序查询方式相比,硬件结构相对复杂一些,服务开销同程序查询方式相比,硬件结构相对复杂一些,服务开销时间较大。时间较大。1程序查询方式程序查询方式 2程序中断方式程序中断方式中断方式一般适用于随机出现的服务。中断方式一般适用于随机出现的服务。优点优点: 它节省了它节省了CPU宝贵的时间,是管理宝贵的时间,是管理IO操作的一个操作的一个比较有效的方法。比较有效的方法。p优点优点:数据传送速度很高,传送速率仅受到内存访问时间的限制。数据传送速度很高,传送速率仅受到内存访问时间
9、的限制。 3直接内存访问直接内存访问( (DMA)DMA)方式方式 通道的出现则进一步提高了通道的出现则进一步提高了CPU的效率。这是因为,的效率。这是因为,CPU将部分将部分权力下放给通道。权力下放给通道。 4 4通道方式通道方式 直接内存访问直接内存访问( (DMA)DMA)方式是一种完全由硬件执行方式是一种完全由硬件执行I IO O交换的工交换的工作方式。作方式。与中断方式相比,需要更多的硬件。与中断方式相比,需要更多的硬件。 此时,此时,DMADMA控制器从控制器从CPUCPU完全接管对总线的控制,数据交换直完全接管对总线的控制,数据交换直接在内存和外围设备之间进行,以高速传送数据。接
10、在内存和外围设备之间进行,以高速传送数据。 通道是一个具有特殊功能的处理器,它可以实现对外围设备的统通道是一个具有特殊功能的处理器,它可以实现对外围设备的统一管理和外围设备与内存之间的数据传送。一管理和外围设备与内存之间的数据传送。然而这种提高然而这种提高CPU效率的办法是以花费更多硬件为代价的。效率的办法是以花费更多硬件为代价的。p PPU PPU 基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计基本上独立于主机工作,它的结构更接近一般处理机,甚至就是微小型计算机。算机。 从某种意义上说,从某种意义上说,这种系统已变成分布式的多机系统这种系统已变成分布式的多机系统。p 5外围
11、处理机方式外围处理机方式外围处理机外围处理机 PPUPPU方式是通道方式的进一步发展。方式是通道方式的进一步发展。主要程序实现主要程序实现主要由附加硬件实现主要由附加硬件实现I/O控制方式控制方式程序程序查询方式查询方式程序程序中断方式中断方式D M A方式方式通道通道方方 式式P P U方式方式外围设备的输入外围设备的输入/输出方式输出方式总 结p 程序查询程序查询方式和方式和程序中断程序中断方式适用于数据传输率比较低的方式适用于数据传输率比较低的外围设备。外围设备。 DMA方式方式、通道方式通道方式和和PPU方式方式适用于数据传适用于数据传输率比较高的设备。输率比较高的设备。通道方式和通道
12、方式和PPU方式大都方式大都用在中、大型计算机中。用在中、大型计算机中。 目前,单片机和微型机目前,单片机和微型机中多采用程序查询方式、程中多采用程序查询方式、程序中断方式和序中断方式和DMA方式。方式。主程序主程序A中断请求中断请求主程序主程序A中断服务子程序中断服务子程序B中断请求中断请求C中断请求中断请求B中断服务子程序中断服务子程序C中断服务子程序中断服务子程序中断处理示意图中断处理示意图 在程序中断方式中,某一外设的数据准备就绪后,它在程序中断方式中,某一外设的数据准备就绪后,它“主动主动”向向CPU发出请求中断的信号,请求发出请求中断的信号,请求CPU暂时中断目前正在执行的暂时中断
13、目前正在执行的程序而进行数据交换。当程序而进行数据交换。当CPU响应这个中断时,便暂停运行主程响应这个中断时,便暂停运行主程序,并自动转移到该设备的中断服务程序。当中断服务程序结束序,并自动转移到该设备的中断服务程序。当中断服务程序结束以后,以后,CPU又回到原来的主程序。又回到原来的主程序。 这种原理和调用子程序相仿,不过,这里要求转移到中断服务程序的这种原理和调用子程序相仿,不过,这里要求转移到中断服务程序的请求是由外部设备发出的。中断方式特别适合于随机出现的服务。请求是由外部设备发出的。中断方式特别适合于随机出现的服务。821 中断的基本概念中断的基本概念p 第一个问题第一个问题 CPU
14、只有在当前一条指令执行完只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到于求,这样才不致于使当前指令的执行受到于扰。扰。p 第二个问题第二个问题 必须把程序计数器必须把程序计数器PC的内容,的内容,以及当前指令执行结束后以及当前指令执行结束后CPU的状态都保存的状态都保存到堆栈中去。这些操作叫做到堆栈中去。这些操作叫做保存现场保存现场。p 第三个问题第三个问题 当当CPU响应中断后,正要去执行响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源中断服务程序时,可能有另一个新的中断源向它发出中断请求。
15、为了不致造成混乱,在向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须的中断管理部件中必须有一个有一个中断屏中断屏蔽蔽触发器触发器p 第四个问题第四个问题 中断处理过程是由硬件和软件结中断处理过程是由硬件和软件结合来完成的。合来完成的。n中断周期中断周期由硬件实现由硬件实现,n中断服务程序由机器指令序列实现中断服务程序由机器指令序列实现。取指令取指令中断中断转到中断子程序转到中断子程序执行指令执行指令响应中断响应中断关中断,即关中断,即中断屏蔽中断屏蔽置位置位找出中断源,并保存(找出中断源,并保存(PC0保存保存CPU现场现场设备服务设备服务恢复恢复CPU现场现场开中断,即开中断
16、,即中断屏蔽中断屏蔽复位复位中中断断周周期期中中断断服服务务子子程程序序 接口电路中有一个工作标志触发器接口电路中有一个工作标志触发器 BS,就绪标志触发器就绪标志触发器 RDRD,还有一个控制还有一个控制触发器,它叫允许中断触发器触发器,它叫允许中断触发器 (EIEI)。动作开始动作开始动作结束动作结束传送数据传送数据数据缓冲寄存器数据缓冲寄存器中断向量逻辑中断向量逻辑设备选择设备选择公用寄存器公用寄存器PCIR控制p0 1BSp0 1R Dp0 1E Ip0 1I Mp0 1I RIR请求请求数据数据总线总线中断中断SCCPUCPU接口接口设备设备INTAINTA 1 1单级中断的概念单级
17、中断的概念所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPUCPU近近的优先权高。的优先权高。当响应某一中断请求时,不允许其他中断源再打断中断服务程序,即使优先权比它当响应某一中断请求时,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。只有该中断服务程序执行完毕之后,才能响应其他高的中断源也不能再打断。只有该中断服务程序执行完毕之后,才能响应其他中断。图中所有的中断。图中所有的I IO O设备通过一条线向设备通过一条线向CPUCPU发出中断请求信号。发出中断请求信号。CPUCPU响
18、应中断响应中断请求后,发出中断响应信号请求后,发出中断响应信号INTAINTA,以链式查询方式识别中断源。以链式查询方式识别中断源。 p0 1I M中断接口中断接口CPUCPU中断接口中断接口中断接口中断接口p0 1I RIRIRS S地址线地址线数据线数据线中断中断主程序主程序单级中断单级中断服务程序服务程序INTAINTA单级中断示意图单级中断示意图单级中断结构图单级中断结构图p 如何确定中断源,并转入被响应的中断服务程序入口地址,是中断处理首先如何确定中断源,并转入被响应的中断服务程序入口地址,是中断处理首先要解决的问题。在单级个断中,采用串行排队链法来实现具有公共请求线的中要解决的问题
19、。在单级个断中,采用串行排队链法来实现具有公共请求线的中断源判优识别。断源判优识别。789IR1123456IR2IR3IR1IS1IR2IS2IR3IS3INTIINTA编码器编码器001010001011001000数数据据总总线线INTO串行排队链判优识别逻辑及中断向量产生串行排队链判优识别逻辑及中断向量产生p开关理论中把若干个布尔量排成的序列定义为布尔向量。由于存储器的地址码开关理论中把若干个布尔量排成的序列定义为布尔向量。由于存储器的地址码是一串布尔量的序列,因此常常把地址码称为是一串布尔量的序列,因此常常把地址码称为向量地址向量地址。p 当当CPU响应中断时,由硬件直接产生一个固定
20、的地址响应中断时,由硬件直接产生一个固定的地址(即向量地址即向量地址),由向量,由向量地址指出每个中断源设备的中断。显然,每个中断源分别有一个中断服务程序,地址指出每个中断源设备的中断。显然,每个中断源分别有一个中断服务程序,而每个中断服务程序又有自己的向量地址。当而每个中断服务程序又有自己的向量地址。当CPU识别出某中断源时,由硬识别出某中断源时,由硬件直接产生一个与该中断源对应的向量地址,很快便引入中断服务程序。向量件直接产生一个与该中断源对应的向量地址,很快便引入中断服务程序。向量中断要求在硬件设计时考虑所有中断源的向量地址,而实际中断时只能产生一中断要求在硬件设计时考虑所有中断源的向量
21、地址,而实际中断时只能产生一个向量地址。图个向量地址。图86中上面部分即为中断向量产生逻辑,它是由编码电路实中上面部分即为中断向量产生逻辑,它是由编码电路实现的。现的。p 有些计算机中由硬件产生的向量地址不是直接地址,而是一个有些计算机中由硬件产生的向量地址不是直接地址,而是一个“位移量位移量”,这个位移量加上这个位移量加上CPU某寄存器里存放的基地址,最后得到中断处理程序的入某寄存器里存放的基地址,最后得到中断处理程序的入口地址。口地址。p 还有一种采用向量地址转移的方法。假设有还有一种采用向量地址转移的方法。假设有8个中断源,由优先级编码电路个中断源,由优先级编码电路产生产生8个对应的固定
22、地址码个对应的固定地址码(例如例如o,1,2,7),这这8个单元中存放的是转个单元中存放的是转移指令,通过转移指令可转入设备各自的中断服务程序入口。这种方法允许中移指令,通过转移指令可转入设备各自的中断服务程序入口。这种方法允许中断处理程序放在内存中任何地方,非常灵活。断处理程序放在内存中任何地方,非常灵活。1多级中断的概念多级中断的概念 多级中断系统是计算机系统中有相当多的中断源,根据各中断多级中断系统是计算机系统中有相当多的中断源,根据各中断时间的轻重缓急程度不同而分成若干级别,每一中断级分配给时间的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。一个优先权。 一维多级中断是指
23、一维多级中断是指 每一级中断里只有一个中断源每一级中断里只有一个中断源二维多级中断是指二维多级中断是指 每一级中断里又有多个中断源每一级中断里又有多个中断源后图中虚线左边结构为一维多级中断,如果去掉虚线则成后图中虚线左边结构为一维多级中断,如果去掉虚线则成为二维多级中断结构。为二维多级中断结构。根据系统的配置不同,多级中断又可分为根据系统的配置不同,多级中断又可分为一维多级中断一维多级中断二维多级中断,二维多级中断,设备设备G设备设备H设备设备I设备设备D设备设备E设备设备F设备设备A设备设备B设备设备C0 1IM00 1IR00 1IM10 1IR10 1IM20 1IR2中断优先中断优先级
24、排队电级排队电路与中断路与中断控制逻辑控制逻辑高高 优先权优先权 低低高高 优优先先权权 低低C P UC P U0 1IM10 级级IR1 级级IR2 级级IR一级中断一级中断服务程序服务程序二级中断二级中断服务程序服务程序三级中断三级中断服务程序服务程序主程序主程序多级中断多级中断对多级中断,我们着重说明如下几点:对多级中断,我们着重说明如下几点:第一,一个系统若有第一,一个系统若有n级中断,在级中断,在CPU中就有中就有n个中断请求触发器,总称为个中断请求触发器,总称为中断请求寄存器,与之对应的有中断请求寄存器,与之对应的有1个中断屏蔽触发器,总称为中断屏个中断屏蔽触发器,总称为中断屏蔽
25、寄存器。蔽寄存器。第四,和单级中断情况类似,在多级中断中也使用中断堆栈保存现场信息。第四,和单级中断情况类似,在多级中断中也使用中断堆栈保存现场信息。使用堆栈保存现场的好处是:使用堆栈保存现场的好处是:(1)控制逻辑简单,保存和恢复现场的过控制逻辑简单,保存和恢复现场的过程按先进后出顺序进行。程按先进后出顺序进行。(2)每一级中断不必单独设置现场保护区,各每一级中断不必单独设置现场保护区,各级中断现场可按其顺序放在同一个栈里。级中断现场可按其顺序放在同一个栈里。第三,设置多级中断的系统一般都希望有较快的中断响应时间,因此首先第三,设置多级中断的系统一般都希望有较快的中断响应时间,因此首先响应哪
26、一级中断和哪一个中断源,都是由硬件逻辑实现,而不是用程响应哪一级中断和哪一个中断源,都是由硬件逻辑实现,而不是用程序实现。另外,在二维中断结构中,除了有中断优先级排队电路确定序实现。另外,在二维中断结构中,除了有中断优先级排队电路确定优先响应中断级外,还要确定优先响应的中断源,一般通过链式查询优先响应中断级外,还要确定优先响应的中断源,一般通过链式查询的硬件逻辑来实现。显然,这里采用了独立请求方式与链式查询方式的硬件逻辑来实现。显然,这里采用了独立请求方式与链式查询方式相结合的方法决定首先响应哪个中断源。相结合的方法决定首先响应哪个中断源。第二,多级中断中的每一级可以只有一个中断源,也可以有多
27、个中断源。第二,多级中断中的每一级可以只有一个中断源,也可以有多个中断源。 在多级中断中,每一级均有一根中断请求线送往在多级中断中,每一级均有一根中断请求线送往CPU的中断优先的中断优先级排队电路,对每一级赋予了不同的优先级。级排队电路,对每一级赋予了不同的优先级。 显然这种结构就是独立请求方式的逻辑结构。显然这种结构就是独立请求方式的逻辑结构。 图示出了独立请求方式的中断优先级排队与中断向量产生的逻图示出了独立请求方式的中断优先级排队与中断向量产生的逻辑结构。每个中断请求信号保存在辑结构。每个中断请求信号保存在“中断请求中断请求”触发器中,经触发器中,经“中断屏蔽中断屏蔽”触发器控制后,可能
28、有若干个中断请求情号触发器控制后,可能有若干个中断请求情号IR进进入虚线框所示的排队电路。入虚线框所示的排队电路。1 1中断类型中断类型 pentiMmpentiMm有两类中断源。即中断和异常。有两类中断源。即中断和异常。 中断中断 通常称为外部中断,它是由通常称为外部中断,它是由CPUCPU的外部硬件信号引发的。有的外部硬件信号引发的。有两种情况:两种情况:(1)(1)可屏蔽中断:如果可屏蔽中断:如果CPUCPU中标志寄存器中标志寄存器IFIFl l时,可引发中断;时,可引发中断; IF IFO O时,中断请求信号在时,中断请求信号在CPUCPU内部被禁止。内部被禁止。(2)(2)非屏蔽中断
29、:这类中断不能被禁止。非屏蔽中断:这类中断不能被禁止。 异常异常 通常称为异常中断,它是由指令执行引发的。通常称为异常中断,它是由指令执行引发的。有两种情况有两种情况执行异常:执行异常:CPUCPU执行一条指令过程中出现错误、故障等不正执行一条指令过程中出现错误、故障等不正常条件引发的中断;常条件引发的中断;执行软件中断指令:如执行执行软件中断指令:如执行INT 0INT 0,INT 3INT 3,INT nINT n等指令,等指令,执行时产生异常中断。执行时产生异常中断。 详细分类的话,详细分类的话,pentiumpentium共有共有256256种中断和异常。每种中断种中断和异常。每种中断
30、给予一个编号,称为中断向量号给予一个编号,称为中断向量号( (0 0一一255)255),以便发生中断时,以便发生中断时,程序转向相应的中断服务子程序入口地址。程序转向相应的中断服务子程序入口地址。p 中断服务子程序的入口地址信息存于中断向量号检索表内。实模式中断服务子程序的入口地址信息存于中断向量号检索表内。实模式为中断向量表为中断向量表IVT,保护模式为中断描述符表保护模式为中断描述符表IDT。p CPU识别中断类型取得中断向量号的途径有三种:识别中断类型取得中断向量号的途径有三种:(1)指令给出,如指令给出,如软件中断指令软件中断指令INT n中的中的”即为中断向量号。即为中断向量号。(
31、2)外部提供:可屏蔽中外部提供:可屏蔽中断是在断是在CPU接收到接收到INTR信号信号 时产生一个中断识别周期,接收外部中时产生一个中断识别周期,接收外部中断控制器由数据总线送来的中断向量号;非屏蔽中断是在接收到断控制器由数据总线送来的中断向量号;非屏蔽中断是在接收到NMI信号时中断向量号固定为信号时中断向量号固定为2。(3)CPU识别错误、故障现象,根据异常识别错误、故障现象,根据异常和中断产生的条件自动指定向量号。和中断产生的条件自动指定向量号。 p CPU依据中断向量号获取中断服务子程序入口地址,但在实模式下依据中断向量号获取中断服务子程序入口地址,但在实模式下和保护模式下采用不同的途径
32、。和保护模式下采用不同的途径。 (1) (1)当中断处理的当中断处理的CPUCPU控制权转移涉及到特权级改变时,必须把当前控制权转移涉及到特权级改变时,必须把当前的的SSSS和和ESPESP两个寄存器的内容压入系统堆栈予以保存。两个寄存器的内容压入系统堆栈予以保存。 (2) (2)标志寄存器标志寄存器EFLAGSEFLAGS的内容也压入堆栈。的内容也压入堆栈。 (3) (3)清除标志触发器清除标志触发器TFTF和和IFIF。 (4) (4)当前的代码段寄存器当前的代码段寄存器CSCS和指令指针和指令指针EIPEIP也压入此堆栈。也压入此堆栈。 (5) (5)如果中断发生伴随有错误码,则错误码也
33、压入此堆栈。如果中断发生伴随有错误码,则错误码也压入此堆栈。 (6) (6)完成上述中断现场保护后,从中断向量号获取的中断服务子程序完成上述中断现场保护后,从中断向量号获取的中断服务子程序入口地址入口地址( (段:偏移段:偏移) )分别装入分别装入CSCS和和EIPEIP,开始执行中断服务子程序。开始执行中断服务子程序。 (7) (7)中断服务子程序最后的中断服务子程序最后的IRETIRET指令使中断返回。保存在堆栈中的中指令使中断返回。保存在堆栈中的中断现场信息被恢复,并由中断点继续执行原程序。断现场信息被恢复,并由中断点继续执行原程序。pDMA方式进行数据传送时,方式进行数据传送时,CPU
34、仍执行主程序,此时仍执行主程序,此时DMA控制逻辑与控制逻辑与CPU可能同时要访问主存,引起主存使用可能同时要访问主存,引起主存使用权的冲突。权的冲突。p如何处理这种冲突呢?如何处理这种冲突呢?n停止停止CPU使用主存使用主存nDMA与与CPU交替使用主存交替使用主存n周期挪用法周期挪用法p当当DMADMA传送数据时,传送数据时,CPUCPU停止工作,把主存使用权交给停止工作,把主存使用权交给DMADMA控控制逻辑。制逻辑。p在这批数据传送结束后,在这批数据传送结束后,DMADMA再交还主存使用权再交还主存使用权p优点:控制简单,适合高速设备成组传送数据;优点:控制简单,适合高速设备成组传送数
35、据;缺点:缺点:DMA控制器访问内存的时间里,内存的效能没有充分发挥。控制器访问内存的时间里,内存的效能没有充分发挥。pCPU让出一两个周期的总线控制权,由让出一两个周期的总线控制权,由I/O设备挪用,进设备挪用,进行一次数据传送;然后,行一次数据传送;然后,DMA控制器把总线控制权交还控制器把总线控制权交还CPU,CPU继续工作。重复,直到数据块传送完。继续工作。重复,直到数据块传送完。pCPU不需要访存时,不需要访存时,I/O设备挪用一两个内存周期对设备挪用一两个内存周期对CPU执执行程序没有影响;行程序没有影响;I/O设备和设备和CPU同时要求访存时,同时要求访存时,I/O设设备访存优先
36、,因备访存优先,因I/O设备有时间要求,不能错过收发数据的设备有时间要求,不能错过收发数据的机会。这种方法使用较多。机会。这种方法使用较多。含含申请、建申请、建立、传送、立、传送、归还过程归还过程p这种方法是把一个存取周期一分为二,一半给这种方法是把一个存取周期一分为二,一半给DMA使用,使用,一半给一半给CPU使用。其原理示意图如下。使用。其原理示意图如下。p这种方式这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是不需要总线使用权的申请、建立和归还过程,总线使用权是分时控制的分时控制的。CPU和和DMA控制器各有自己访问内存的地址寄存器、数控制器各有自己访问内存的地址寄存器、数据
37、寄存器、读写信号等控制寄存器。总线控制权的转移几乎不需要时据寄存器、读写信号等控制寄存器。总线控制权的转移几乎不需要时间,间,DMA传送效率很高。但硬件控制逻辑也就更加复杂,而且在没有传送效率很高。但硬件控制逻辑也就更加复杂,而且在没有DMA数据传送情况下,时间片被浪费。数据传送情况下,时间片被浪费。p内存地址计数器内存地址计数器:用来存放要交换数据的内存地址。:用来存放要交换数据的内存地址。p传送长度计数器传送长度计数器:用来记录传送数据块的长度。:用来记录传送数据块的长度。p数据缓冲寄存器数据缓冲寄存器:暂存传送的数据。:暂存传送的数据。pDMA请求触发器请求触发器:外设准备好一个数据后就
38、给出一个控制信号,使:外设准备好一个数据后就给出一个控制信号,使DMA请求触发器置请求触发器置1。该标志引发。该标志引发DMA请求,即请求,即“控制控制/状态逻辑状态逻辑” 向向CPU发出总线使用权的请求(发出总线使用权的请求(HRQ),),CPU以以HLDA响应,响应,“控制控制/状状态逻辑态逻辑”接收此信号后发出接收此信号后发出DMA响应信号,使响应信号,使DMA请求触发器复位。请求触发器复位。p控制控制/状态逻辑状态逻辑:用于修改内存地址计数器和字计数器、指定传送方向、:用于修改内存地址计数器和字计数器、指定传送方向、并对并对DMA请求信号和请求信号和CPU响应信号协调和同步。响应信号协
39、调和同步。 p中断机构中断机构:当一数据块传送完成,溢出信号触发中断机构,向:当一数据块传送完成,溢出信号触发中断机构,向CPU提提出中断请求,报告数据传送结束。出中断请求,报告数据传送结束。CPU将进行将进行DMA传送的收尾处理。传送的收尾处理。可分为三个阶段:可分为三个阶段:准备准备阶段、传送阶段、结束阶段阶段、传送阶段、结束阶段。l准备阶段:准备阶段:在在DMA传送前必须做好准备工作,主机向传送前必须做好准备工作,主机向DMA接口传送以接口传送以下信息:下信息: n读读/写命令。写命令。n向向DMA控制器的主存地址计数器送数据块在内存中的控制器的主存地址计数器送数据块在内存中的首地址。首
40、地址。n向向DMA控制器的设备地址寄存器送设备号。控制器的设备地址寄存器送设备号。n向传送长度计数器送数据字个数。向传送长度计数器送数据字个数。n启动启动DMA。这些工作做完之后,这些工作做完之后,CPU继续原来的工作。继续原来的工作。l传送阶段传送阶段n外设准备好收发数据时,向主机发外设准备好收发数据时,向主机发DMA请求。请求。nCPU在本机器周期结束后,响应该请求在本机器周期结束后,响应该请求、并使、并使CPU的总的总线驱动器处于高阻状态,让出主存使用权。线驱动器处于高阻状态,让出主存使用权。nDMA控制器发送内存地址、读控制器发送内存地址、读/写命令。写命令。n挪用一个存储周期,传送一
41、个数据,主存地址计数器加挪用一个存储周期,传送一个数据,主存地址计数器加1,字计数器减,字计数器减1,如果用补码表示则加,如果用补码表示则加1。n判断数据是否传送完毕,即计数器是否等于判断数据是否传送完毕,即计数器是否等于0。若不为。若不为0,则撤销则撤销DMA请求,继续第一步的动作;若字计数器为请求,继续第一步的动作;若字计数器为0,进入结束阶段。进入结束阶段。DMADMA请求请求DMADMA响应响应 传送一个字传送一个字DMADMA结束结束NNY Y传送完传送完?修改地址指针修改地址指针和字计数器和字计数器发送内存地址发送内存地址l结束阶段结束阶段DMA控制器向主机发出中断请求,报告数据传
42、送结束。控制器向主机发出中断请求,报告数据传送结束。CPU停止主程序执行,转向中断服务程序进行停止主程序执行,转向中断服务程序进行DMA操作的操作的后处理,包括校验送入内存的数据、决定是否继续后处理,包括校验送入内存的数据、决定是否继续DMA数数据传送、测试是否发生错误等。据传送、测试是否发生错误等。 p中断方式通过程序实现数据传送,而中断方式通过程序实现数据传送,而DMA直接用硬件直接用硬件来实现数据传送。来实现数据传送。pCPU在执行完一条指令后响应中断,而在一个机器周在执行完一条指令后响应中断,而在一个机器周期结束后响应期结束后响应DMA请求。请求。p中断方式不仅具有传送数据的能力,还能
43、处理异常事中断方式不仅具有传送数据的能力,还能处理异常事件;而件;而DMA只能进行数据传送。只能进行数据传送。p中断方式需要切换程序、保护现场和恢复现场;而中断方式需要切换程序、保护现场和恢复现场;而DMA仅挪用一个存储周期,不改变仅挪用一个存储周期,不改变CPU现场。现场。pDMA请求比中断请求优先级高。之所以优先响应请求比中断请求优先级高。之所以优先响应DMA请求,是为了防止丢失请求,是为了防止丢失DMA高速传送的数据。高速传送的数据。p选择型DMA控制器p多路型DMA控制器n接受接受CPU的的I/O指令,按指令要求与外设进行联系。指令,按指令要求与外设进行联系。n从内存取出属于自己的通道
44、指令,经译码后向设备控制从内存取出属于自己的通道指令,经译码后向设备控制器发送各种命令。器发送各种命令。n在外设和内存之间进行数据传送,并根据需要提供数据在外设和内存之间进行数据传送,并根据需要提供数据缓冲空间、以及数据存放的主存地址和传送的数据量。缓冲空间、以及数据存放的主存地址和传送的数据量。n根据要求把从外设得到状态信息、以及通道自身的状态根据要求把从外设得到状态信息、以及通道自身的状态信息送给信息送给CPU,供其使用。,供其使用。n将外设的中断请求和通道请求按次序及时报告将外设的中断请求和通道请求按次序及时报告CPU。p在具有通道结构的计算机中,在具有通道结构的计算机中, CPU是通过
45、是通过处理处理来自通道的中断来自通道的中断以及以及执行执行I/O指令指令实现对通道的实现对通道的管理的。管理的。p来自通道的中断有两种:来自通道的中断有两种:n数据传送结束中断数据传送结束中断n故障中断故障中断p通常把通常把CPU运行操作系统管理程序的状态称为运行操作系统管理程序的状态称为管态管态,而,而把把CPU执行用户程序的状态称为执行用户程序的状态称为目态目态。大、中型计算机。大、中型计算机的的I/O指令都属于管态指令,只有当指令都属于管态指令,只有当CPU处于管态时,才处于管态时,才能运行能运行I/O指令。这是因为大、中型计算机的软硬件资源指令。这是因为大、中型计算机的软硬件资源为多个
46、用户共享,而不是分给某个用户专用的,需要统为多个用户共享,而不是分给某个用户专用的,需要统一管理。一管理。CPU 通道通道 设备控制器设备控制器 外设外设通道通过使用通道指令指挥设备控制器进行数据传送操通道通过使用通道指令指挥设备控制器进行数据传送操作作。设备控制器是通道对。设备控制器是通道对I/O设备实现传输控制的执行机设备实现传输控制的执行机构。设备控制器的具体任务如下:构。设备控制器的具体任务如下:n从通道接收通道命令,控制外设完成所要求的操作。从通道接收通道命令,控制外设完成所要求的操作。n向通道反映外设的状态。向通道反映外设的状态。n将各种外设的不同信号转换成通道能识别的标准信号。将各种外设的不同信号转换成通道能识别的标准信号。CPU、内存、内存 通道通道 设备控制器设备控制器 外设外设根据通道的工作方式,通道分为三种根据通道的工作方式,通道分为三种:l字节多路型通道
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校行政管理制度
- 税务规划测算方案范本
- 中国平安集团高级管理岗位面试全解
- 电信行业研发工程师岗位的面试经验总结
- 2026年中专项目数学题答案详解
- 四级机构考勤制度
- 公司注重考勤制度
- 农村中学考勤制度
- XX区实验初级中学2026年春季学期安全消防安全演练活动实施方案
- 浙江杭州市临平区2025学年第一学期期末学业水平测试七年级英语试题卷(无答案)
- 绝缘子串分布电压耐受测试
- 2024年山西新华书店集团有限公司招聘笔试参考题库含答案解析
- 智能制造企业制造成熟度能力域打分表
- 卢氏去世前后纳兰性德词风变化探究
- 双重预防机制制度
- 欧姆龙cx-programmer操作手册
- 古代汉语(第2版)PPT完整全套教学课件
- 土地复垦-损毁预测
- GA/T 1772-2021机动车查验场地设置规范
- GB/T 4108-2004镁粉和铝镁合金粉粒度组成的测定干筛分法
- 小学二年级第二学期开学第一课课件
评论
0/150
提交评论