扫码加入训练营

牢记核心词

学习得礼盒

2020考研计算机组成原理知识点:输入输出(I/O)系统(3)

2019-05-01 21:18:44来源:网络

  2020年计算机考研复习已经开始,新东方在线在此整理了2020考研计算机组成原理知识点:输入输出(I/O)系统,希望能帮助大家!

  (四) I/O方式

  1. 程序查询方式

  程序查询方式的核心问题是每时每刻需要不断查询I/O设备是否准备好。CPU不断地询问外设是否准备好:如果准备好,CPU执行IO操作;否则,CPU一直等待。CPU大部分时间处于等待状态,利用率不高。

  2. 程序中断方式

  (1)中断的基本概念

  计算机在执行程序的过程中,当出现异常情况或者特殊情况时,CPU停止当前程序的运行,转向对这些异常情况或者特殊情况的处理,处理结束之后再返回到现行程序的间断处继续运行,该过程就是中断。

  (2)中断响应过程

  当多个中断源向CPU提出中断请求时,CPU在任何一个时刻只能接受一个中断源的请求,所以,当多个中断源同时请求时,CPU必须对各个中断源的请求进行排队,且只能接受级别最高的中断源的请求,不允许低级别的中断源中断正在运行的中断服务程序。

  每个设备都配备一个中断请求触发器和中断屏蔽触发器,当中断请求触发器为“1”时,表示该设备向CPU提出中断请求,如果中断屏蔽触发器为“1”时,表示该设备被屏蔽,即封锁其中断源的请求。

  当多个中断源同时向CPU提出请求,CPU需要对这些中断源的请求进行排队,也称为中断判优,有两种判优的方法:

  1)查询法

  由测试程序按一定优先排队次序检查各个设备的“中断触发器”(或称为中断标志),当遇到第一个“1”标志时,即找到了优先进行处理的中断源,通常取出其设备码,根据设备码转入相应的中断服务程序。

  2)串行排队链法

  由硬件组成一个串行的优先链,称作排队链。

  一旦CPU确定接受某个中断源的请求,就需要执行该设备的中断服务程序,因此需要找到中断服务程序的入口地址。入口地址的寻找可以用软件或硬件的方法实现。硬件向量法就是通过向量地址来寻找设备的中断服务程序的入口地址。中断向量地址形成部件可以通过向接受请求的中断源发送中断响应信号,然后由被响应的设备回送设备码,根据设备码来产生中断向量地址。

  (3)中断处理过程

  中断处理过程可分以下几个步骤:

  1)关中断

  进入不可再次响应中断的状态,由硬件自动实现。因为接下去要保存断点,保存现场。在保存现场过程中,即使有更高级的中断源申请中断,CPU也不应该响应;否则,如果现场保存不完整,在中断服务程序结束之后,也就不能正确地恢复现场并 继续执行现行程序。

  2)保存断点和现场。

  为了在中断处理结束后能正确地返回到中断点,在响应中断时,必须把当前的程序计数器PC中的内容(即断点)保存起来。

  现场信息一般指的是程序状态字,中断屏蔽寄存器和CPU中各寄存器的内容。

  3)判别中断源,转向中断服务程序。

  在多个中断源同时请求中断的情况下,本次实际响应的只能是优先权最高的那个中断源。所以,需进一步判别中断源,并转入相应的中断服务程序入口。

  4)开中断。

  因为接下去就要执行中断服务程序,开中断将允许更高级中断请求得到响应,实现中断嵌套。

  5)执行中’断服务程序。

  不同中断源的中断服务程序是不同的,实际有效的中断处理工作是在此程序段中实现的。

  6)退出中断。

  在退出时,又应进入不可中断状态,即关中断,恢复现场、恢复断点,然后开中断,返回原程序执行。

  (4)多重中断和中断屏蔽的概念。

  多重中断是指在处理某一个中断过程又发生了新的中断请求,从而中断该服务程序的执行,又转去进行新的中断处理。这种重叠处理中断的现象又称为中断嵌套。

  中断屏蔽

  当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其余部分中断仍得到响立,称为中断屏蔽。

  实现方法是为每个中断源设置一个中断屏蔽触发器来屏蔽该设备的中断请求。具体说,用程序方法将该触发器置“1”,则对应的设备中断被封锁,若将其置“0”,才允许该设备的中断请求得到响应。由各设备的中断屏蔽触发器组成中断屏蔽寄存器。

  3. DMA方式

  DMA是I/O设备与主存储器之间由硬件组成的直接数据通路,用于高速I/O设备与主存之间的成组数据传送。

  数据传送是在DMA控制器控制下进行的,由DMA控制器给出当前正在传送的数据字的主存地址,并统计传送数据的个数以确定一组数据的传送是否已结束。在主存中要开辟连续地址的专用缓冲器,用来提供或接收传送的数据。在数据传送前和结束后要通过程序或中断方式对缓冲器和DMA控制器进行预处理和后处理。

  (1)DMA控制器的组成;

  1)主存地址寄存器(MAR)

  寄存器初始值为主存缓冲区的首地址。

  2)外围设备地址寄存器(ADR )

  该寄存器存放I/O设备的设备码,具体内容取决于I/O设备的数据格式和地址字编址方式。

  3)字数计数器(WC)

  该计数器对传送数据的总字数进行统计 。

  4)控制与状态寄存器(CSR)

  该寄存器用来存放控制字和状态字。

  5)数据缓冲寄存器(DBR)

  该寄存器用来暂存I/O设备与主存传送的数据。

  6)中断机构

  当字计数器溢出(全“0”)时,表示一批数据交换完成,由“溢出信号”通过中断机构向CPU提出中断请求,请求CPU作DMA操作后处理。

  (2)DMA传送过程。

  1)DMA预处理

  在进行DMA数据传送之前要用程序做一些必要的准备工作。先由CPU执行几条输入输出指令,测试设备状态,向DMA控制器的设备地址寄存器中送入设备地址并启动设备,在主存地址寄存器中送入交换数据的主存起始地址,在数据字数寄存器中送入交换的数据个数。在这些工作完成之后,CPU继续执行原来的程序。

  2)DMA控制I/O设备与主存之间的数据交换

  I/O设备启动后,若为输入数据,则要进行以下操作:

  <1>从输入介质读入一个字到数据缓冲寄存器DBR中。

  <2>向CPU发DMA请求,在取得总线控制权后,将DBR中的数据送人主存的数据寄存器。

  <3>将DMA中的MAR内容送主存的地址寄存器,启动写操作,将数据写入主存。

  <4>将WC内容减1,将MAR的内容加1,给出下一个字的地址。

  <5>判断WC是否为“0”,若不是,说明还有数据需要传送,检查无错后准备下一字的输入。若WC为0,表明一组数据已传送完毕,此时应置结束标志,向CPU发中断请求。

  3) CPU中断原程序进行后处理

  若需继续交换数据,则又要对DMA控制器进行初始化;若不需交换数据,则停止外设;若为出错,则转错误诊断及处理程序。

  (3)DMA三种工作方式:

  1)CPU暂停方式

  主机响应DMA请求后,让出存储总线,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU。

  2)CPU周期窃取方式

  DMA控制器与主存储器之间传送一个数据,占用(窃取)一个或几个CPU周期,即CPU暂停工作一个或几个周期,然后继续执行程序。

  3)CPU和DMA交替工作方式

  当CPU的工作周期比主存访问时间长时,使用这种方式。这种方式不需要总线使用权的申请、建立和归还过程。将CPU周期分成C1和C2两个周期,其中C1专门用于给DMA访问主存,C2提供给CPU访问主存。总线使用权通过C1和C2分别控制。CPU和DMA各自有自己的访问地址寄存器、数据寄存器和读写信号。

  4. 通道方式

  I/O通道是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O指令集合——通道命令的I/O处理机。

  在通道控制方式下,一个主机可以连接几个通道。每个通道又可连接多台I/O设备,这些设备可具有不同速度,可以是不同种类。这种输入输出系统增强了主机与通道操作的并行能力以及各通道之间、同一通道的各设备之间的并行操作能力。同时也为用户提供了增减外围设备的灵活性。

  采用通道方式组织输入输出系统,多使用主机—通道—设备控制器— I/0设备四级连接方式。通道通过执行通道程序实施对I/O系统的统一管理和控制,因此,它是完成输入输出操作的主要部件。在CPU启动通道后,通道自动地去内存取出通道指令并执行指令。直到数据交换过程结束向CPU发出中断请求,进行通道结束处理工作。

  I/O通道的种类:

  根据多台设备共享通道的不同情况,可将通道分为三类:字节多路通道、选择通道和数组多路通道。

  (1)字节多路通道(低速、分时)

  字节多路通道(multiplexor channel)是一种简单的共享通道,在时间分割的基础上,服务于多台低速和中速面向字符的外围设备。

  字节多路通道包括多个子通道,每个子通道服务于一个设备控制器,可以独立地执行通直指令。每个子通道都需要有字符缓冲寄存器、I/O请求标志/控制寄存器、主存地址寄存器和字节计数寄存器。而所有子通道的控制部分是公共的,由所有子通道所共享。通常,每个通道的有关指令和参量存放在主存固定单元中。当通道在逻辑上与某一设备连通时,将这些指令和参量取出来,送入公共控制部分的寄存器中使用。

  字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自分得的时间片内与通道建立传输连接,实现数据的传送。

  (2)选择通道(高速、独占)

  选择通道每次只能从所连接的设备中选择一台I/O设备的通道程序,此刻该通道程序独占了整个通道。当它与主存交换完数据后,才能转去执行另一个设备的通道程序,为另一台设备服务。因此,连接在选择通道上的若干设备,只能依次使用通道与主存传送数据。数据传送是以成组(数据块)方式进行,每次传送一个数据块,因此,传送速率很高。选择通道多适合于快速设备(磁盘),这些设备相邻字之间的传送空闲时间极短。

  (3)数组多路通道(综合)

  数组多路通道把字节多路通道和选择通道的特点结合起来。它有多个子通道,既可以执行多路通道程序,像字节多路通道那样、所有子通道分时共享总通道;又可以用选择通道那样的方式传送数据。

  数组多路通道具有多路并行操作能力,又具有很高的数据传送速率,赢得了吞吐率的较大提高。它的缺点是增加了控制的复杂性。


本文关键字: 2020考研计算机

考研英语核心词汇营

背词+听课+练习+督学,学习得礼盒

更多资料
更多>>
更多内容

关注新东方在线考研服务号

获得21考研真题及答案解析

1. 打开手机微信【扫一扫】,识别上方二维码;
2.点击【关注公众号】,获取资料大礼包。

近10年考研真题及答案免费下载
更多>>
更多公开课>>
更多>>
更多资料