【计算机组成原理】第八章 输入输出系统

文章详细介绍了计算机系统中处理输入输出的几种方式,包括程序查询、中断、DMA和通道方式。中断机制包括基本概念、单级和多级中断,DMA则强调了直接存储器访问的优势和不同类型,通道则作为一种能独立执行通道程序的处理方式。此外,还讨论了并行I/O标准接口SCSI和串行I/O标准接口IEEE1394。
摘要由CSDN通过智能技术生成

系列文章目录

第一章 计算系统概论
第二章 运算方法和运算器
第三章 多层次的存储器
第四章 指令系统
第五章 中央处理器
第六章 总线系统
第七章 外围设备
第八章 输入输出系统



前言


【 第八章 输入输出系统 】

8.1 外围设备的定时方式和信息交换方式

一、外围设备的速度分级

  • 外设种类繁多,存在以下几种情况:
    • 不同种类的外设数据传输速率差别很大
    • 同一种设备在不同时刻传输速率也可能不同
  • 高速的CPU与速度参差不齐的外设怎样在时间上同步:解决办法是在CPU和外设之间数据传送时加以定时
    • 速度极慢或简单的外设:CPU只需要接受或者发送数据即可
    • 慢速或者中速的设备:可以采用异步定时的方式
    • 高速外设:采用同步定时方式

二、信息交换方式

  • 程序查询方式
  • 程序中断方式
  • DMA方式
  • 通道方式
    在这里插入图片描述

8.2 程序查询方式

1、设备编址

  • 统一编址
  • 独立编址

2、程序查询接口

  • 设备选择电路
  • 数据缓冲寄存器
  • 设备状态寄存器
    在这里插入图片描述
    • 先向I/O设备发出命令字,请求进行数据传送;
    • 从I/O接口读入状态字;
    • 检查状态字中的标志,看看数据交换是否可以进行;
    • 假如这个设备没有准备就绪,则第(2)、第(3)步重复进行,一直到这个设备准备好交换数据,发出准备就绪信号“Ready”为止;
    • CPU从I/O接口的数据缓冲寄存器输入数据,或者将数据从CPU输出至接口的数据缓冲寄存器。与此同时,CPU将接口中的状态标志复位。
    • 数据传送
  • 程序查询I/O设备流程图
    在这里插入图片描述

8.3 程序中断方式

8.3.1 中断的基本概念

  • 中断(Interrupt)是指CPU暂时中止现行程序,转去处理随机发生的紧急事件,处理完后自动返回原程序的功能和技术。
  • 中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构,在外设接口中设置中断控制器,在软件上设置相应的中断服务程序。
    在这里插入图片描述
  • 中断处理过程注意几个问题:
    • 响应中断时机:外界中断请求时随机的,但CPU只有在当前指令执行完毕后,才转至公操作
    • 断点保护问题(PC,寄存器内容和状态的保存)
    • 原子操作:开中断和关中断问题。
    • 中断是由软硬件结合起来实现的
    • 中断分为内中断(异常)和外中断
      在这里插入图片描述

8.3.2 程序中断方式的基本I/O接口

  • 设备选择器。设备选择器用来判别总线上送出的地址(或称呼叫的设备)是否为本设备,它实际上是设备地址的译码比较电路。
  • BS外设接口忙(BuSy)标志
  • RD外设准备就绪(ReaDy)标志
  • EI(Enable Interrupt中断允许触发器)
  • IR(Interrupt Request)中断请求触发器
  • IM(Interrupt Mask)中断屏蔽触发器
    在这里插入图片描述
    • ①表示由程序启动外设,将该外设接口的“忙”标志BS置“1”,“准备就绪”标志RD清“0”;
    • ②表示接口向外设发出启动信号;
    • ③表示数据由外设传送到接口的缓冲寄存器;
    • ④表示当设备动作结束或缓冲寄存器数据填满时,设备向接口送出一控制信号,将数据“准备就绪”标志RD置“1”;
    • ⑤表示允许中断标志EI为“1”时,接口向CPU发出中断请求信号;
    • ⑥表示在一条指令执行末尾CPU检查中断请求线,将中断请求线的请求信号接收到“中断请求”标志IR;
    • ⑦表示如果“中断屏蔽”标志IM为“0”时,CPU在一条指令执行结束后受理外设的中断请求,向外设发出响应中断信号并关闭中断;
    • ⑧表示转向该设备的中断服务程序入口;
    • ⑨表示在中断服务程序通过输入指令把接口中数据缓冲寄存器的数据读至CPU中的寄存器;
    • 🔟表示CPU发出控制信号C将接口中的BS和RD标志复位。

8.3.3 单级中断

  • 单级中断的概念:所有中断源属于同一级,离CPU越近,优先级越高。
  • 中断源的识别:串行排队链法
    • IR1,IR2,IR3为中断请求信号
    • IS1,IS2,IS3为中断选中信号
    • INTI为中断排队输入
    • INTO为中断排队输出
  • 中断向量的产生
    在这里插入图片描述
    在这里插入图片描述
  • 中断向量:
    • 当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址)
    • 由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。

8.3.4 多级中断

在这里插入图片描述

  • 多级中断源的识别
    • 中断优先排队电路
    • 中断向量产生电路
      在这里插入图片描述

8.3.5 中断控制器

  • 8259中断控制器是一个集成电路芯片,它将中断接口与优先级判断等功能汇集于一身,常用于微型机系统。其内部结构如图8.11所示。
    • 8位中断请求寄存器(IR)接受8个外部设备送来的中断请求,每一位对应一个设备。
    • 中断请求寄存器的各位送入优先权判断器,根据中断屏蔽寄存器(IM)各位的状态来决定最高优先级的中断请求,并将各位的状态送入中断状态寄存器IS。IS保存着判优结果。由控制逻辑向CPU发出中断请求信号INT,并接受CPU的中断响应信号INTA。
    • 数据缓冲器用于保存CPU内部总线与系统数据总线之间进行传送的数据。
    • 读/写逻辑决定数据传送的方向,其中IOR为读控制,IOW为写控制,CS为设备选择,A0为I/O端口识别。
      在这里插入图片描述
  • 多个8259进行级联以处理多达64个中断请求。在这种情况下允许有一个主中断控制器和多个从中断控制器,称为主从系统。
  • 优先级选择方式有四种:
    • 完全嵌套方式:是一种固定优先级方式,连至IR0的设备优先级最高,IR7的优先级最低。这种固定优先级方式对级别低的中断不利,在有些情况下最低级别的中断请求可能一直不能被处理。
    • 轮换优先级方式A:每个级别的中断保证有机会被处理,将给定的中断级别处理完后,立即把它放到最低级别的位置上去。
    • 轮换优先级方式B:要求CPU可在任何时间规定最优优先级,然后顺序地规定其他IR线上的优先级。
    • 查询方式:由CPU访问8259的中断状态寄存器,一个状态字能表示出正在请求中断的最高优先级IR线,并能表示出中断请求是否有效。
  • 8259提供了两种屏蔽方式:
    • 简单屏蔽方式,提供8位屏蔽字,每位对应着各自的IR线。被置位的任一位则禁止了对应IR线上的中断。
    • 特殊屏蔽方式,允许CPU让来自低优先级的外设中断请求去中断高优先级的服务程序。当8位屏蔽位的某位置“0”时,例如屏蔽字为11001111,说明IR4和IR5线上的中断请求可中断任何高级别的中断服务程序。
  • 8259中断控制器的不同工作方式是通过编程来实现的。CPU送出一系列的初始化控制字和操作控制字来执行选定的操作。

8.3.6 Pentium中断机制

  • Pentium中断机制
    • 中断类型
    • 中断服务子程序进入过程
    • 中断处理过程
      在这里插入图片描述

8.4 DMA方式

8.4.1 DMA的基本概念

  • 直接存储器访问(Direct Memory Address)DMA方式是为了在主存储器与I/O设备间高速交换批量数据而设置的。
  • 基本思想是:
    • 通过硬件控制实现主存与I/O设备间的直接数据传送,在传送过程中无需CPU的干预。
    • 数据传送是在DMA控制器控制下进行的,
  • 优点:速度快。有利于发挥CPU的效率。

8.4.2 DMA传送方式

1、停止CPU访问内存

  • 主机响应DMA请求后,让出地址总线、数据总线和相关控制总线的使用权,直到一组数据传送完毕后,DMA控制器才把总线控制权交还给CPU,采用这种工作方式的I/O设备,在其接口中一般设置有小容量存储器,I/O设备先与小容量存储器交换数据,然后由小容量存储器与主机交换数据,这样可减少DMA传送占用存储总线的时间,也即减少了CPU暂停工作的时间。
    在这里插入图片描述
  • 优点: 控制简单,它适用于数据传输率很高的设备进行成组传送。
  • 缺点: 在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。

2、周期挪用方式

  • DMA控制器与主存储器之间传送一个数据,占用(窃取)一个CPU周期,即CPU暂停工作一个周期,然后继续执行程序。
    在这里插入图片描述

  • 优点:既实现了IO数据传送,又较好地发挥了内存和CPU的效率。

  • 缺点:IO设备每一次周期挪用都有申请总线控制权、建立总线控制权和归还总线控制权的过程,所以传送一个字对内存来说是占用一个周期,但是对DMA控制器来说一般要2-5个内存周期。

3、DMA与CPU交替访内

  • 如果CPU的工作周期比内存存取周期长很多,可以采用该种方法
  • 总线控制权的转移速度快,DMA效率高。
    在这里插入图片描述

8.4.3 基本的DMA原理

1、DMA基本构成

  • 内存地址计数器
  • 字计数器
  • 数据缓冲寄存器
  • “DMA请求”标志
  • “控制/状态”逻辑
  • 中断机构
    在这里插入图片描述

2、 DMA数据传送过程当外设有DMA请求时,通常CPU在本机器周期结束后,响应DMA请求。

在这里插入图片描述

8.4.4 选择型和多路型DMA控制器

  • 选择型
    在这里插入图片描述
  • 多路型
    在这里插入图片描述
  • 典型DMA芯片
    在这里插入图片描述
    在这里插入图片描述

8.5 通道方式

8.5.1 通道的功能

  • 执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断等,具体有以下五项任务:
    • 接受CPU的I/O指令,按指令要求与指定的外围设备进行通信。
    • 从内存选取属于该通道程序的通道指令,经译码后向设备控制器和设备发送各种命令。
    • 组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。
    • 从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用。
    • 将外围设备的中断请求和通道本身的中断请求,按次序及时报告CPU。
  • 通道结构
    • 在一般用户程序中,通过调用通道来完成一次数据输入输出的过程如图1所示
    • CPU执行用户程序和管理程序,通道处理机执行通道程序的时间关系如图所示。

8.5.2 通道的类型

  • 选择通道
    • 选择通道每次只能从所连接的设备中选择一台I/O设备的通道程序,此刻该通道程序独占了整个通道。连接在选择通道上的若干设备,只能依次使用通道与主存传送数据
    • 数据传送以成组(数据块)方式进行,每次传送一个数据块,因此,传送速率很高。选择通道多适合于快速设备(磁盘),这些设备相邻字之间的传送空闲时间极短。
  • 字节多路通道 (Byte Multiplexor Channel)
    • 是一种简单的共享通道,在时间分割的基础上,服务于多台低速和中速面向字符的外围设备。
    • 字节多路通道包括多个子通道,每个子通道服务于一个设备控制器,可以独立地执行通道指令。每个子通道都需要有字符缓冲寄存器、I/O请求标志/控制寄存器、主存地址寄存器和字节计数寄存器。而所有于通道的控制部分是公共的,由所有子通道所共享。通常,每个通道的有关指令和参量存放在主存固定单元中。当通道在逻辑上与某一设备连通时,将这些指令和参量取出来,送入公共控制部分的寄存器中使用。
    • 字节多路通道要求每种设备分时占用一个很短的时间片,不同的设备在各自分得的时间片内与通道建立传输连接,实现数据的传送。
  • 数组多路通道(Block Multiplexor Channel)
    • 数组多路通道把字节多路通道和选择通道的特点结合起来。它有多个子通道,既可以执行多路通道程序,象字节多路通道那样,所有子通道分时共享总通道;又可以用选择通道那样的方式传送数据。
  • 数组多路通道和字节多路通道的比较

8.5.3 通道结构的发展

  • 输入输出处理机(IOP)
    • 输入输出处理机(IOP)不是一台独立的计算机,而是计算机系统中的一个部件。IOP可以和CPU并行工作,提供高速的DMA处理能力,实现数据的高速传送。此外,有些IOP还提供数据的变换、搜索和字装配/分拆能力。
    • 8位和16位微机中使用的Intel 8089 I/O处理器就是这种通道型I/O处理器
  • 外围处理机
    • 外围处理机结构更接近于一般处理机,或者就是选用已有的通用机。外围机基本上是独立于主处理机工作的,应用于大型高效率的计算机系统中。

8.6 通用I/O标准接口

8.6.1 并行I/O标准接口SCSI

  • 小型计算机系统接口的简称,它是一个高速智能接口,可以混接各种磁盘、光盘、磁 带机、打印机、扫描仪、条码阅读器以及通信设备
    在这里插入图片描述

8.6.2 串行I/O标准接口IEEE1394

  • IEEE 1394是一种高速串行I/O标准接口。各被连接装置的关系是平等的,不用PC介入也能自成系统。这意味着1394在家电等消费类设备的连接应用方面有很好的前景。
  • (1)数据传送的高速性
  • (2)数据传送的实时性
  • (3)体积小易安装,连接方便
    在这里插入图片描述
  • 图8.23 IEEE 1394协议集
    在这里插入图片描述

【 第八章 总结 】

  • 各种外围设备的数据传输速率相差很大。如何保证主机与外围设备在时间上同步,则涉及外围设备的定时问题。在计算机系统中,CPU对外围设备的管理方式有:①程序查询方式;②程序中断方式;③DMA方式;④通道方式。每种方式都需要硬件和软件结合起来进行。
  • 程序查询方式是CPU管理I/O设备的最简单方式,CPU定期执行设备服务程序,主动来了解设备的工作状态。这种方式浪费CPU的宝贵资源。
  • 程序中断方式是各类计算机中广泛使用的一种数据交换方式。当某一外设的数据准备就绪后,它“主动”向CPU发出请求信号。CPU响应中断请求后,暂停运行主程序,自动转移到该设备的中断服务子程序,为该设备进行服务,结束时返回主程序。中断处理过程可以嵌套进行,优先级高的设备可以中断优先级低的中断服务程序。
  • DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续程序。DMA方式采用以下三种方法:①停止CPU访内;②周期挪用;③DMA与CPU交替访内。DMA控制器按其组成结构,分为选择型和多路型两类。
  • 通道是一个特殊功能的处理器。它有自己的指令和程序专门负责数据输入输出的传输控制,从而使CPU将“传输控制”的功能下放给通道,CPU只负责“数据处理”功能。这样,通道与CPU分时使用内存,实现了CPU内部的数据处理与I/O设备的平行工作。通道有两种类型:①选择通道;②多路通道。
  • 标准化是建立开放式系统的基础。CPU、系统总线、I/O总线及标准接口技术近年来取得了重大进步。其中并行I/O接口SCSI与串行I/O接口IEEE 1394是两个最具权威性和发展前景的标准接口技术。
  • SCSI是系统级接口,是处于主适配器和智能设备控制器之间的并行I/O接口,改进的SCSI可允许连接1~15台不同类型的高速外围设备。SCSI的不足处在于硬件较昂贵,并需要通用设备驱动程序和各类设备的驱动程序模块的支持。
  • IEEE 1394是串行I/O标准接口。与SCSI并行I/O接口相比,它具有更高的数据传输速率和数据传送的实时性,具有更小的体积和连接的方便性。IEEE 1394的一个重大特点是,各被连接的设备的关系是平等的,不用PC介入也能自成系统。因此IEEE 1394已成为Intel、Microsoft等公司联手制定的新标准。
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值