机组第七章复习笔记

IO系统的概述

计算机的I/O系统,主要用于解决主机与外部设备间的信息通信,提供信息通路,使外部设备和主机能协调一致进行工作。

7.1.1 IO系统的组成

输入输出系统由IO硬件和IO软件组成

1、I/O硬件

输入输出系统中的I/O硬件包括系统总线、I/O接口、I/O设备、设备控制器。

系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。

I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其对应的控制软件。

I/O设备是指计算机系统和外界信息交流的装置。

2、I/O软件

输入输出系统中的I/O软件包括用户I/O程序、设备驱动程序、设备控制程序。

用户I/O程序是指用户利用操作系统提供的调用界面编写的具体I/O设备的输入/输出程序。

设备驱动程序是一种可以使计算机和设备通信的特殊程序。

设备控制程序就是驱动程序中具体对设备进行控制的程序。

7.1.3主机与I/O设备间的连接方式、

1、总线型方式

CPU通过系统总线与主存储器、I/O接口电路相连接,通过I/O接口电路进一步实现对外设的控制。

总线型方式是主机与I/O设备间连接的最基本方式,广泛使用。

优点:结构简单、标准化、I/O接口扩充方便

缺点:系统中各部件之间的信息交换均依赖总线,总线成为系统中的速度瓶颈;因而对于配置大量外设的系统不适合。

2、通道方式

输入/输出通道是一个独立于CPU的、专门管理I/O设备的处理机,他控制设备与主存直接进行数据交换。

他有自己的通道指令,这些通道指令由CPU启动,并在操作结束时向CPU发出中断信号。

在通道方式中,数据的传送方向、存放数据的内存起始地址,以及传送的数据块长度等都有通道来控制。

通道方式可以实现一个通道控制多台设备与主存进行数据交换。通道方式可以进一步减轻CPU的工作负担,增加计算机系统的并行程度。

3、IO处理机方式

使I/O处理和CPU的操作完全并行起来

7.2.1 I/O接口的功能和组成

1、功能

识别设备地址,选择指定设备(设备选择电路)

传送控制命令及返回状态信息(命令寄存器及命令译码器)

数据传送和数据缓冲(数据缓冲寄存器)

数据格式转换(控制电路)

其他功能(控制逻辑及寄存器)

7.2.2 I/O端口的编址方式

A: I/O 接口中可编址的寄存器称为 I/O 端口。

1、独立编址方式

这种编址方式的特点是I/O端口和存储器在两个独立的地址空间中进行编址,IO端口的读写操作由专门的控制信号来实现,在指令系统中需要有专门的I/O指令实现对I/O端口的访问。

优点:I/O端口具有独立的地址空间,不占用内存空间;存储器与I/O端口的指令不同,程序比较清晰;I/O端口的地址码较短,译码电路比较简单,也可以节省指令存储空间和指令执行时间;存储器和I/O端口的控制相互独立,可以分别设计。

缺点:需要有专门的I/O指令,而且这些I/O指令的功能一般不如访问存储器的指令丰富,设计程序不够方便。

2、存储器映射编址方式(统一编制方式)

这种编址方式的特点是I/O端口和存储器共用统一的地址空间,一旦地址空间分配给I/O端口,存储器就不能再占有这一部分的地址空间,在这种方式下,I/O端口的读写操作同样由访存的控制信号来实现,所有访问存储器的指令都可以用于访问I/O端口。

优点:CPU可使用所有的存储器的操作指令对I/O端口中的数据进行操作,十分灵活和方便;不需要专门的指令及控制信号区分是存储器还是I/O操作,使系统相对简单。

缺点:I/O端口占用了内存单元的部分地址空间,使内存空间容量减少。

7.2.3 接口的分类

1、按通用性分类

通用接口与专用接口

2、按可编程分类

可编程接口和不可编程接口

3、按数据传送方式分类

并行I/O接口和串行I/O接口

4、按数据传送的控制方式分类

程序型接口和DMA型接口

7.3程序查询方式

程序查询方式是指CPU在进行输入/输出操作之前,先查询外设的状态,只有当外设准备就绪时,才进行数据传送。

当有关操作的时间未知或不定时,往往采用程序查询方式。

适用于CPU速度不高、对CPU工作效率问题不是很重要的场合。

缺点:CPU与外设无法并行工作,CPU效率很低;无法发现和处理异常情况,不能响应来自外部的随机请求。

7.4程序中断方式

在程序查询方式中,当CPU和外设传送数据时,必须反复执行读状态寄存器的指令查看外设是否准备好,只有当外设准备好时才能传送数据,浪费了CPU大量的宝贵时间。

程序中断是CPU暂时中止当前运行程序的执行,转而去处理随机发生的紧急事件,待处理完成后再返回源程序继续执行的功能和技术。

程序中断的基本思想是:CPU在程序中的某一时刻启动某一外设后,CPU继续执行原来的程序,这时外设在为CPU的下一次操作做准备,CPU和外设在这段时间内是并行工作的,一旦外设准备好,便会向CPU发出一个中断请求,请求cpu为自己服务。

程序中断方式的作用:

实现主机和外设的并行工作。

处理故障

实现多道程序和分时操作

实时控制

实现人机联系

7.4.3 中断请求和中断判优

中断源是中断请求的来源,它是引起计算机中断的事件。一台计算机有许多个中断源。当中断请求触发器为1,中断屏蔽触发器为0时,该设备可以发出中断请求信号给CPU。

中断判优:硬件判优、软件判优

7.4.4 中断响应

1、CPU响应中断的条件

CPU响应中断的条件是中断允许触发器为1。当中断请求触发器的值为1时,只有当中断允许触发器的值也为“1”时,才能提出中断请求。

2、CPU响应中断的时间

CPU总是在每条指令结束后响应中断源的请求,当然不同指令的执行时间差别较大,简单指令需要的执行时间较短,而复杂指令却需要很长的执行时间,这样如果固定地在每条指令地结束后响应中断,就可能会由于有些中断源不能及时响应而出现差错。

3、中断周期

CPU响应中断后,即进入中断周期。在中断周期内,CPU通过执行一条中断隐指令自动完成一系列操作。所谓中断隐指令,是指在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成地指令。

在中断周期中可完成以下任务。

(1)保护程序断点。将当前程序执行的断点(PC的值)保存起来,既可以保存在特定的内存单元,也可以通过将其压入堆栈中保存起来。

(2)将中断服务程序的入口地址送PC。寻找中断服务程序的入口地址方法有两种:1)硬件向量法。硬件向量法就是用硬件产生中断向量地址,再有中断向量地址找到中断服务程序的入口地址。通常使用一个编码器电路作为向量地址的形成部件。他的输入是排队器的输出,它的输出为相应中断源的向量地址。 2)软件查询法。这种方法方便、灵活,硬件简单,但效率低。

7.4.5 多重中断与中断屏蔽

当cpu正在执行一个中断源的中断服务程序时,又被另一个中断请求打断,这时cpu不得不暂停正在执行的中断服务程序,转而去执行另一个中断服务程序,这就叫做多重中断多重中断通常只允许高优先级的中断源中断低优先级的中断服务程序。

有一个中断屏蔽触发器,当它的值为1时,中断请求触发器的信号会被屏蔽。如果将一台机器的所有外设的中断屏蔽触发器组合在一起,就构成一个中断屏蔽寄存器。屏蔽寄存器的内容称为屏蔽字。

屏蔽字与中断源的优先级一一对应。例如,一个系统有16个中断源,则对每一个中断源都会赋予一个屏蔽字。0表示对该中断源不屏蔽,1表示屏蔽。

在多重中断服务程序中,通过设置适当的屏蔽字,可以对不同级别的中断源起屏蔽作用,还可以根据需要通过修改屏蔽字达到改变中断优先次序的目的。这里的优先次序指的是中断处理次序,可以由屏蔽字改变的,但中断响应次序是由硬件排队器决定的,无法改变。

实现多重中断的必要条件是在中断服务程序中,开中断放在设备服务之前,保护现场
及置屏蔽字之后

7.5DMA方式

DMA即直接内存访问。它是一种完全由硬件执行I/O设备与主存储器间数据交换的工作方式。这种方式一般用于高速I/O设备与主存储器间的成组数据传送。
DMA的使用进一步减轻了CPU在输入/输出管理上的负担,提高了外设与CPU的并行工作程度。

1、DMA的数据传送

1)停止CPU访问主存

当外设要传送一批数据时,由DMA接口向CPU发出一个停止信号,要求CPU停止使用主存,把总线的控制权让出来。DMA接口获得总线控制权后,开始传送数据,当一批数据传送完毕后,DMA接口通知CPU可以使用主存,并将总线控制权换给CPU。

优点:控制简单,适用于数据传输速率很高的输入/输出设备进行数据的成组传送。

缺点:在DMA传送期间,CPU基本不处于不工作状态或保持原状态,降低了CPU与外设的并行性,也降低了内存的效率。

2)周期挪用

当外设有DMA请求时,CPU让出一个主存周期的总线控制权,外设获得总线控制权后和贮存交换一个字的数据,然后将总线控制权交回CPU,CPU可继续访问主存。

DMA控制使用主存一般是一个访存周期

优点:提高了CPU与外设的并行性,提高了主存的利用率

缺点:DMA接口的每一次周期挪用都要经过申请总线控制权、建立总线控制权和归还总线控制权的过程,这个过程一般耗时2~5个主存周期。

3)DMA与CPU交替访问主存

这种方式将一个CPU周期分为C1和C2两个分周期,在C1分周期内DMA访问主存,在C2分周期内CPU访问主存,DMA和CPU在各自不同的时间段访问主存,互不干扰

这种DMA传送对CPU来说如同透明的玻璃,毫无影响。

采用这种方式的基础是一个cpu周期至少是一个访存周期的两倍长。

优点:不需要总线控制权的申请、建立和归还过程,只需用C1和C2控制一个多路转换器,使总线的控制权在DMA和CPU之间切换,而这种切换几乎不需要什么时间,使DMA和CPU同时发挥最高效率,进一步提高了系统的并行性。

缺点:需要增加相应的硬件逻辑

2、DMA接口的类型

1)选择型DMA接口

在物理上与多个设备相连,但逻辑上只允许连接一个设备。同一时间段内只能为一个设备服务,不同的设备在不同的时间段获得服务。

选择型DMA接口适用于数据传输速率很高的设备。

2)多路型DMA接口

在物理上与多个设备相连,在逻辑上同样与多个设备相连。在同一时间段内同时为多个设备服务。适合于同时为多个慢速设备服务。

采用了字节交叉方式为多个设备服务。

7.6通道与IOP

在大中型计算机中,外设配置多,数据交换频繁,如采用DMA方式处理高速外设的输入/输出。则会明显存在下述问题:

1)DMA方式的预处理和后处理都要由CPU执行程序来完成,再加上频繁的周期挪用,使CPU的效率大打折扣。

2)外设众多,需要配置许多DMA接口,一方面增加硬件,另一方面会使控制复杂化。

一般在大中型计算机中使用通道和I/O处理机来管理输入/输出。


7.6.1通道

1)通道的组成

通道是一台能够执行有限I/O指令并且能够被多台外部设备共享的专用控制器。它能够独立执行用通道命令编写的输入/输出控制程序,控制与它相连的多种不同的设备,为主机与I/O设备提供一种数据传输通道。

2)DMA和通道的区别

DMA是借助硬件完成数据交换的,而通道是通过执行通道程序完成数据交换的。

若一个DMA控制器连接多台同类外设,则它们只能串行工作。而一个通道可连接多台不同类型的外设,他们可在通道控制下同时工作。

采用DMA传送数据时要CPU初始化,而通道代替CPU控制外设,CPU仅通过I/O指令启动通道,通道自身可进行各外设的初始化。

3)根据多台设备共享设备的不同情况:

1、字节多路通道

连接多台慢速外设,以字节交叉方式传送数据的通道称为字节多路通道。这种通道是一种简单的共享通道,可以依靠通道与CPU之间的高速数据通路分时地为多台设备服务。

2、选择通道

在数据传送期间,只能控制一台高速外设以成组方式传送数据,而在不同时间段可以选择不同设备的通道称为选择通道。选择通道只有一套完整的硬件,以独占的方式工作,逐个轮流地为物理上连接地几台高速外设服务。

3、数组多路通道

能控制多台高速外设以成组交叉方式传送数据地通道。

7.7.4 总线使用的控制

通常将完成一次总线操作的时间称为总线周期,大致可以分为总线申请分配、寻址从设备、数据传输、结束操作4个阶段

总线的分类

按总线承担的任务:内部总线和外部总线

按总线所处的物理位置:片内总线、功能模块内总线、功能模块间总线、外部总线

按总线传输数据的位数:串行和并行总线

按总线控制方式:异步和同步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值