Nameless Site

But one day, you will stand before its decrepit gate,without really knowing why.

0%

输入输出系统

输入输出接口概述

输入/输出系统组成:外部设备、接口部件、总线以及相应的管理软件统称为计算机的 输入/输出系统,简称I/O系统。
image-20191226193057280

I/O系统基本功能:

  • 完成计算机内部二进制信息与外部多种信息形式间的交流;
  • 保证CPU能够正确选择输入输出设备并实现对其控制,传输大量数据、 避免数据出错;
  • 利用数据缓冲、选择合适的数据传送方式等,实现主机与外设间 速度的匹配。

I/O系统特点:

  • 异步性:外围设备相对于处理机通常是异步工作的;
  • 实时性:当外围设备与处理机交互时,由于设备的类型不同,它们的工 作步调是不同的,处理机必须按照不同设备所要求传送方式和传输速率 不失时机地为设备提供服务,这就要求实时性控制;
  • 与设备无关性:各种外部设备必须根据其特点和要求选择一种标准接口 和处理机进行连接,它们之间的差别必须由设备本身的控制器通过硬件 和软件来填补;这样,处理机本身无须了解外设的具体细节,可以采用 统一的硬件和软件对其管理。

输入/输出设备同CPU交换数据的过程

输入过程:

  • CPU把一个地址值放在地址总线上,这一步将选择某一输入设备;
  • CPU等候输入设备的数据成为有效;
  • CPU从数据总线读入数据,并放在一个相应的寄存器中

输出过程:

  • CPU把一个地址值放在地址总线上,选择输出设备
  • CPU把数据放在数据总线上;
  • 输出设备认为数据有效,从而把数据取走

I/O系统性能

按照主要完成的工作可以分为以下二类:存储 I/O 通信 I/O

I/O系统的性能对CPU的性能有很大的影响,若两者的性能不匹配,I/O系统就有可能成为整个系统的瓶颈。

评价I/O系统性能的主要参数:

  • 连接特性:哪些I/O设备可以和计算机系统相连接
  • I/O系统的容量:I/O系统可以容纳的I/O设备数
  • 响应时间和吞吐率等
  • 系统的响应时间:从用户输入命令开始,到得到结果所花费的时间; 由I/O系统的响应时间和CPU的处理时间两部分构成,单位通常用秒(s)表示。
  • I/O的吞吐率:单位时间完成的I/O操作次数,单位通常用IOP表示。

输入输出方式

输入/输出方式:

  • 无条件I/O方式
  • 程序控制I/O方式
  • 中断I/O方式
  • DMA(Direct Memory Access)方式
  • 通道方式
  • I/O处理机方式

无条件I/O方式

  • 在程序的适当位置直接安排 I/O指令,当程序执行到这些 I/O指令时,CPU默认外设始终是准备就绪的(I/O总是准备好接收CPU的输出数据,或 总是准备好向CPU输入数据), 无需检查I/O的状态,就进行数据的传输;
  • 硬件接口电路和软件控制程序都比较简单。输入时,必须确保CPU执行 I/O指令读取数据时,外设已将数据 准备好;输出时,必须确保外部设备 的数据锁存器为空,即外设已将上次 的数据取走,等待接收新的数据,否 则会导致数据传送出错,但一般的外设难以满足这种要求。

程序控制方式

一种早期计算机采用的输入/输出方式,数据在计算机和外设之 间的传送全部靠计算机程序控制;计算机执行I/O指令时,先获取外设状态,并根据外设的状态决定下一步操作。

程序查询的I/O原理:

  • 程序先向I/O设备发出I/O命令字;
  • 读取I/O设备工作状态信息;
  • 检查状态字中的标志,看是否可以进行数据交换;
  • 若设备未准备就绪,则返回到上步,重复查询;否则,发出设备准备就绪信号;
  • CPU与I/O接口的数据缓冲寄存器进行数据交换,与此同时,将接口中的状态标志复位
    image-20191226194626791

设备状态字寄存器:

  • 用来标志设备的工作状态,以便接口对外部设备进行监视。
  • CPU通过程序查询设备状态位来判断设备的状态。
  • 因此,设备状态寄存器是设备对主机的窗口,主机通过它了解设备的 状态,并对设备设置操作方式。
  • 设备状态寄存器又叫设备状态字(DSW)是设备所有状态的集合,每 种状态均用一个触发器来表示。

特点:何时对何设备进行输入输出操作完全受CPU控制, 外围设备与CPU处于异步工作关系,数据的输入/输出都要经过CPU。
优点:计算机和外设之间能够同步,控制简单,硬件简单。
缺点:CPU的大量时间用来查询外设的状态

中断I/O方式

  • 当外设准备好后,主动通知CPU并进行接收或输出数据的方法;
  • CPU接到外设的通知后暂停现行的工作,转入中断服务程序,和外设交换数据, 等中断程序处理完毕后,再返回到被中断的原程序中继续以前被暂停的工作。

优点:节约CPU时间,实时性好。
缺点:控制电路相对复杂,服务开销较大(现场和断点的保护)。
应用场合:实时性要求高,且数据传输量又不大的场合

DMA方式

  • 是一种完全由硬件执行的I/O交换方式
  • 当外设准备好后,通知DMA控制器,DMA控制器从CPU接管总线,并完成外 设和内存之间的大量数据传输;传输完成后DMA控制器将总线控制权交还给 CPU,整个数据交换的过程不需要CPU参与。

优点:既有中断的优点,同时又降低了服务开销。
缺点:控制电路更加复杂。
应用场合:高速、大批量数据传输。

通道和I/O处理机方式

  • 复杂的计算机系统中,外围设备的台数一般比较多,设备的种类、工作方式 和工作速度的差别很大,为了把对外围设备的管理工作从CPU中分离出来,采 用通道或I/O处理机方式。
  • 通道是能够专门执行I/O指令的处理机,它可以实现对外围设备的统一管理, 以及外设与主存之间的数据传输。
  • I/O处理机是通道方式的进一步发展,它的结构更接近于一般处理机。

中断请求与响应

中断:是指CPU在正常运行程序时,由于内部/外部事 件(或由程序)引起CPU中断正在运行的程序,而转到 为中断事件服务的程序中去,服务完毕,再返回执行原 程序的这一过程。
中断的特征:具有随机性。

中断的作用:

  • 实现主机与外设之间的并行工作
  • 故障处理:中断系统能使计算机在运行过程中出现故障的时候, 调用相应的中断服务程序处理故障。
  • 实时处理
    image-20191226200348777

    中断的类型

    • 内部中断
    • 软件中断
    • 异常
      • 故障(Fault)
      • 自陷(Trap)
      • 终止(Abort)
  • 外部中断

    • 可屏蔽中断INTR
    • 不可屏蔽中断NMI
  • 内部中断:来自于CPU内部的指令中断请求,分为软件中断和异常。

  • 外部中断:中断请求来自CPU外部,又分为可屏蔽和不可屏蔽中断。
  • 不可屏蔽中断NMI:由系统内部硬件引发的中断,优先级高于外部硬 件中断,且不受中断允许标志位的影响,所以是不可屏蔽中断。
  • 可屏蔽中断:由外设通过中断请求线向处理器申请而产生的中断,处 理器可以用指令来屏蔽(禁止),即不响应它的中断请求。

中断系统的基本功能

  • 中断请求信号保持与清楚
  • 中断优先级
  • 中断源识别
  • 中断的处理
  • 中断控制

中断请求信号保持与清除

  • 中断号:是系统分配给每个中断源的代号,以便识别和处理。中断号在中断处理过程中起到很重要的作用。
  • 中断号的获取:CPU对系统中不同类型的中断源,获取它们的中断号 的方法是不同的。

image-20191226200930087

中断控制

中断触发方式:是指外设以什么逻辑信号去申请中断,即边沿触发和电 平触发两种方式。
中断排队方式:当系统有多个中断源时,就可能出现同时有几个中断源 都申请中断,而处理器在一个时刻只能响应并处理一个中断请求;为此, 要进行中断排队。处理器按“优先级高的先服务”的原则提供服务。

  • 按优先级排队:根据任务的轻重缓急,给每个中断源指定CPU响应的 优先级,任务紧急的先响应,可以暂缓的后响应。
  • 循环轮流排队:不分级别高低,CPU轮流响应各个中断源的中断请求。

中断嵌套:

  • 当CPU正在处理某个中断时,会出现优先级更高的 中断源申请中断;为了使更紧急的、级别更高的中断源及时得到服务,需要暂时打断(挂起)当前正 在执行的中断服务程序,去处理级别更高的中断请 求,处理完成后再返回被打断了的中断服务程序继 续执行。
  • 但级别相同或级别低的中断源不能打断级别高的中 断服务,这就是所谓的中断嵌套。
  • 可屏蔽中断可以进行中断嵌套。NMI不可以进行中断嵌套。

中断屏蔽:

  • 处理器用指令来控制中断屏蔽触 发器的状态,从而控制是否接受 某个特殊外设的中断请求。
  • 处理器内部也有一个中断允许触 发器,只有当其为“1”(即开中 断),CPU才能响应外部中断。

中断优先级:是指CPU响应和处理中断请求的先后次序
为了兼顾中断响应的时效与配置的灵活,通常采用两套机制结合组成 中断优先序管理体系:

  • 硬件响应优先序:未被屏蔽的几个中断源同时提出申请时, CPU选择服务对象的顺序由硬件电路实现,用户不能修改。
  • 软件服务优先序:在各中断服务程序开头,用软件设置自己 的中断屏蔽字,以此改变实际服务顺序。

中断处理

  • 中断响应周期:当CPU收到外设的中断请求后,如果当前一条指令已执行完,且允许中断, CPU进入中断响应周期,发出中断应 答信号完成一个中断响应周期。
  • 中断响应:读取中断源的中断号,完成中断申请与中断响应的握手过程。

中断处理:

  • 标志位的处理与断点保存
    处理器获得外部中断源的中断号后,保存断点(返回地址),关闭中断,保护现场。
  • 向中断服务程序转移并执行中断服务程序
  • 返回断点
    中断服务程序执行完毕后,恢复断点和现场, 要返回主程序。

    单级中断处理流程:
    image-20191226201407259

    多级中断处理流程:
    image-20191226201438871

    DMA方式

DMA方式的基本原理:数据的传送不经过CPU,由DMA控制器实现内存和外设、外设和外 设之间的直接快速传送。
用于需要高速大批量数据传送的系统中。
image-20191226202606347

DMA传输计算机系统构成:

  • DMA控制器作为主设备之一
    image-20191226202653346
  • DMA控制器与I0接口集成
    image-20191226202732946
  • DMA控制器提供专门I/O中间
    image-20191226202757677

DMA控制器(DMAC):
DMA控制器的两种工作状态

  • 被动态(受控器):未取得总线控制权,受CPU的控制。
  • 主动态(主控器):接管并取得总线控制权,取代CPU而成为系统的主控者。

DMA传输步骤

  • 申请阶段:一个设备接口试图通过总线直接向另一个设备发送数据(一般是大批量的数据),它会先向 CPU发送DMA请求信号;
  • 响应阶段:CPU收到DMA请求信号后,在当前的总线周期结束后,会按DMA信号的优先级和提出 DMA请求的先后顺序响应DMA信号;
  • 数据传送阶段 CPU对某个设备接口响应DMA请求时,会让出总线控制权;于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预;
  • 传送结束阶段 :数据传送完毕后,设备接口会向CPU发送DMA结 束信号,交还总线控制权。

DMA操作类型

  • 数据传送:把源地址的数据传输到目的地址去(存储器或I/O)。
  • 数据校验:不进行数据传输,只对数据块内部的每个字节进行某种校验; 这种数据校验一般安排在读数据块之后,以便校验所读的数据是否有效。
  • 数据检索:不进行数据传输,只是在指定的内存区域内查找某个关键字节 或某几个数据位是否存在

DMA操作方式

  • 单字节传输模式:每次DMA操作传送一个字节后,接着释放总线。
  • 块传输模式:连续传送多个字节,每传输一个字节,当前字节计数器 减1,当前地址寄存器加1或减1,直到所要求的字节数传输完(当前 字节计数器减至0),然后释放总线。
  • 请求传输模式:DMA控制器要询问外设,当外设请求信号无效时, 暂停传输(不释放总线);当请求信号再次有效后,继续进行传输。
  • 级联传输模式:多片DMA控制器级联,构成主从式DMA系统。

DMA传输模式

停止CPU访问内存

当需要传送一批数据时,DMA控制器首先要求CPU放弃对总线的控制权;然后开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。
在这种DMA传送过程中,CPU基本处于不工作状态或者说保持状态。
优点:控制简单,它适用于数据传输率很高的设备进行成组传送。
缺点:在DMA控制器访内存阶段,内存的效能没有充分发挥,相当一部分内存 工作周期是空闲的。这是因为,传送两个数据之间的间隔一般总是大于内 存存储周期,即使高速I/O设备也是如此。

请求传输模式——周期挪用

当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。
I/O设备要求DMA传送时可能遇到两种情况:

  • 当CPU不需要访内时,此时I/O访内与CPU访内没有冲突,即 I/O设备挪用一二个内存周期对CPU执行程序没有任何影响;
  • CPU也同时要求访问内存,这就产生了访存冲突,在这种情况 下I/O设备访存优先。
    优点:既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛采 用的方法。
    缺点:I/O设备每一次周期挪用都有申请、建立、归还总线控制权的过程,所 以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要2-5个内存周期;因此,周期挪用方法适用于I/O设备读写周期大于内存存储周期的 情况。

请求传输模式——DMA与CPU交替访存

如果CPU的工作周期比内存存取周期长很多,此时采用交替访存的方法,可以使DMA传送和CPU同时发挥最高的效率。
这种方式不需要总线使用权的申请、建立和归还过 程,总线使用权是通过分 时进行的,这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。
这种传送方式又称为”透明的DMA”方式,在透 明的DMA方式下工作,CPU既不停止主程序的 运行,也不进入等待状态,同样是一种高效率的 工作方式。
缺点:相应的硬件逻辑也就更加复杂。

习题

采用DMA方式传送数据时,每传送一个数据就要用一个(存储周期)时间。


通道对CPU的请求形式是(中断)


描述PCI总线中基本概念正确的句子是(ACD)。
A.HOST 总线不仅连接主存,还可以连接多个CPU
B.以桥连接实现的PCI总线结构不允许许多条总线并行工作
C.PCI 总线体系中有三种桥,它们都是PCI 设备
D.桥的作用可使所有的存取都按CPU 的需要出现在总线上


中断向量地址是中断服务例行程序入口地址的指示器