计算机组成原理 第八章 输入输出系统(慕课学习笔记)

8.1 输入输出系统概述

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

2.I/O系统的基本功能

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

3.I/O系统的特点

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

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

  1. CPU把一一个地址值放在地址总线上,这一步将选择某一输入设备;
  2. CPU等候输入设备的数据成为有效;
  3. CPU从数据总线读入数据,并放在一一个相应的寄存器中。
    输出过程:
  4. CPU把一一个地址值放在地址总线上,选择输出设备;
  5. CPU把数据放在数据总线上;
  6. 输出设备认为数据有效,从而把数据取走。

5.I/O系统的性能
按照主要完成的工作可以分为:存储I/O(硬盘);通信I/O(网卡)
I/O系统的性能对CPU的性能有很大的影响,若两者的性能不匹配,I/O系统就有可能成为整个系统的瓶颈。

主要评价参数:

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

8.2 输入输出方式

  1. 无条件I/O方式
  2. 程序控制I/O方式
  3. 中断I/O方式
  4. DMA方式
  5. 通道方式
  6. I/O处理机方式

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

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

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

程序查询流程图

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

程序控制/O方式特点: 何时对何设备进行输入输出操作完全受CPU控制,外围设备与CPU处于异步工作关系,数据的输入/输出都要经过CPU.

优点:计算机和外设间能够同步,控制简单,硬件简单
缺点:CPU的大量时间用来查询外设的状态

3、中断I/O方式
当外设准备好后,主动通知CPU并进行接收或输出数据的方法;

CPU接到外设的通知后暂停现行的工作,转入中断服务程序,和外设交换数据,
等中断程序处理完毕后,再返回到被中断的原程序中继续以前被暂停的工作。

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

4、DMA方式
是一种完全由硬件执行的I/O交换方式

当外设准备好后,通知DMA控制器,DMA控制器从CPU接管总线,并完成外
设和内存之间的大量数据传输;传输完成后DMA控制器将总线控制权交还给
CPU,整个数据交换的过程不需要CPU参与

优点:既有中断的优点,同时又降低了服务开销
缺点:控制电路更加复杂

5、通道和I/O处理机方式
在复杂的计算机系统中,外围设备的台数一般比较多,设备的种类、工作方式和工作速度的差别很大,为了把对外围设备的管理工作从CPU中分离出来,采用通道或I/O处理机方式。

通道是能够专执行1/O指令的处理机,它可以实现对外围设备的统一管理,以及外设与主存之间的数据传输。

I/O处理机是通道方式的进一步发展 ,它的结构更接近于一般处理机。

8.3 中断请求与响应

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

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

在这里插入图片描述

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

中断系统的基本功能:
1、中断请求信号的保持与清除(硬件实现)
在这里插入图片描述

2、中断源的识别
中断号:是系统分配给每个中断源的代号,以便识别和处理。
中断号的获取:CPU对系统中不同类型的中断源,获取它们的中断号的方法不同。

3、中断控制
中断触发方式:是指外设以什么逻辑信号去申请中断,即边沿触发和电平触发两种方式
中断排队方式:(多个中断源发送中断请求,需要中断排队)处理器按“优先级高的先服务”

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

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

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

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

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

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

在这里插入图片描述
在这里插入图片描述

8.4 DMA方式

数据的传送不经过CPU ,由DMA控制器(DMAC)实现内存和外设、外设和外设之间的直接快速传送。(用于需要高速大批量数据传送的系统)

DMA控制器作为主设备之一:
在这里插入图片描述
DMA控制器与IO接口集成:
在这里插入图片描述
DMA控制器提供专门IO总线:
在这里插入图片描述

DMAC的两种工作状态:
被动态(受控器) : 未取得总线控制权,受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系统。

请求传输模式

1、停止CPU访问内存
当需要传送一批数据时, DMA控制器首先要求CPU放弃对总线的控制权;然后开始进行数据传送。在一批
数据传送完毕后, DMA控制器通知CPU可以使用内存并把总线控制权交还给CPU。

在这种DMA传送过程中, CPU基本处于不工作状态或者说保持状态。

优点:
控制简单,它适用于数据传输率很高的设备进行成组传送。
缺点:
在DMA控制器访内存阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。

2、周期挪用:

当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期。

I/O设备要求DMA传送时可能遇到两种情况:
1、当CPU不需要访内时,此时I/O访内与CPU访内没有冲突,即
I/O设备挪用一二个内存周期对CPU执行程序没有任何影响 ;
2、CPU也同时要求访问内存,这就产生了访存冲突,在这种情况
I/O设备访存优先

优点:
既实现了I/O传送,又较好地发挥了内存和CPU的效率,是一种广泛采用的方法。
缺点:
I/O设备每一次周期挪用都有申请、建立、归还总线控制权的过程,所以传送一个字对内存来说要 占用一个周期,但对DMA控制器来说一般要2 5个内存周期;因此,周期挪用方法适用于I/O设备读写周期大于内存存储周期的情况。

3、DMA与CPU交替访存:(透明的DMA方式)
如果CPU的工作周期比内存存取周期长很多,此时采用交替访存的方法,可以使DMA传送和CPU同时发挥最高的效率。

优点:
这种方式不需要总线使用权的申请、建立和归还过程,总线使用权是通过分时进行的,这种总线控制权的转移几乎不需要什么时间,所以对DMA传送来讲效率是很高的。
缺点:
硬件逻辑复杂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章