4 输入输出
4.1 输入输出原理
- 通常把处理机和主存储其之外的部分统称为输入输出系统,包括输入输出设备、输入输出接口和输入输出软件的等
- 运算器、控制器、主存储器和总线等也要通过输入输出系统来管理
4.1.1 输入输出系统的特点
1 实时性
2 设备无关性
- 独立于具体设备的标准接口
- 计算机系统的使用者,在需要更换外围设备时,各种不同型号,不同生产厂家的设备都可以直接通过标准接口与计算机系统连接
- 处理机采用统一的硬件和软件对品种繁多的设备进行管理
- 某些计算机系统已经实现了即插即用技术
3 异步性
- 输入输出设备通常不使用统一的时钟系统,各个设备按照自己的时钟工作,但又要在某些时刻接受处理机的控制
- 外围设备与处理机之间的交互式随机的
- 处理机与外围设备之间,外围设备与外围设备之间能并行工作
4.1.2 输入输出系统的组织方式
4.1.3 基本的输入输出方式
1 程序控制的输入输出方式
4个特点:
- 何时对何设备进行输入输出操作受CPU控制
- CPU要通过指令对设备进行测试才能知道设备的工作状态。空闲、准备就绪、忙碌等
- 数据的输入和输出都要经过CPU
- 用于连接低速外围设备,如终端、打印机等
一个处理机管理多台外围设备。处理机采用轮流循环测试方法,分时为各台外围设备服务
- 优点:灵活性好,可以很容易过地改变各台外围设备的优先级
- 缺点:不能实现处理及与外围设备之间并行工作
2 中断输入输出
定义:当出现来自系统外部,机器内部,甚至处理机本身的任何例外的,或者虽然是事先安排的,但出现在现行程序的什么地方是事先不知道的事件时,CPU暂停执行现行程序,转去处理这些事件,等处理完成后再返回来继续执行原先的程序
特点:
- CPU与外围设备能够并行工作。
- 能够处理例外事件。
- 数据的输入和输出都要经过CPU。
- 用于连接低速外围设备。
3 直接存储器访问方式
DMA:Direct Memory Access:主要用来连接高速外围设备。如磁盘存储器,磁带存储器、光盘辅助存储器,行式打印机等
使用DMA方式实际上有如下三种:
- 周期窃取
- 周期窃取是窃取的主存的一至多个存取周期
-
直接存取方式
-
数据块传送方式
4.2 中断系统
4.2.1 中断源的组织
1 中断源的种类
2 中断源的分类组织
- 中断源分类组织的目的:在中断响应后尽快找到中断入口
- 根据中断事件的紧迫程度,中断源工作速度、性质等进行分类
- 为每一类中断原分配一个硬件入口,在进入这个入口之后,在通过软件找到具体的中断源
- 可屏蔽中断与不可屏蔽中断,或称一般中断和异常中断
3 中断优先级
安排中断优先顺序主要由下列因素来决定:
-
中断源的急迫性
-
设备的工作速度
-
数据恢复的难易程度
-
要求处理及提供的服务量
-
中断优先级和中断服务顺序:
中断优先级由硬件排对器决定, 但是可以软件设置中断屏蔽吗改变中断服务顺序。
4.2.2 中断系统的软硬件分配
1 主要考虑的两个因素:
- 中断响应时间
- 灵活性: 容易更改
2 中断处理过程:
- 必须硬件实现的: 保存中断点和进入中断服务程序入口
这两个功能相当于执行一条转子程序指令,因为终端发生在先行程序的什么地方是不确定的,不能由程序员来安排。 - 必须软件实现的:终端服务,返回中断点
返回中断点,通过执行中断返回指令来实现
中断服务必须用软件实现
3 中断响应时间
定义: 从中断源向处理及发出中断服务请求开始,到处理机开始执行这个中断源的中断服务程序时为止
- 影响中断响应时间的4个因素:
- 最长指令执行时间。
- 处理其他更紧急任务的时间
- 从第一次关CPU到第一次开COU所经历的时间
- 多个中断源同时请求中断服务,通过软件找到中断服务程序入口所用的时间
4.2.3 中断源的识别方法
1 识别中断源的查询法
- 所有中断源公用一条中断请求线
- 处理机响应中断后都进入同一个程序入口
- 用软件找出申请中断的中断源
2 软件排对链法
- 设置一个中断请求寄存器,每个中断源在其中占据以为,并按照中断优先级从高到低的顺序排列。
- 所有中断源使用同一条公共的中断请求线,进入公共中断源服务程序入口,其过程与查询法相同。
- 在公共中断服务程序入口,用一条特殊指令将中断请求寄存器中的内容读到通用寄存器,然后用一条按位扫描指令找到第一位为“1”的位号(该位号实际上是所有请求中断服务的中断源中,具有最好优先级的中断源的相对编号)。
- 通过变址转移指令直接转移到中断源的中断服务程序入口
- 节省软件逐个寻找中断源的时间
3 串行排队链法
- 用硬件排队器和编码器,在所有终端服务的中断源中,找出具有最高优先级的中断源。
- 识别中断源速度更快
4 中断向量法
- 主存固定区域开辟专用中断向量区
- 用硬件排对器和编码器在所有请求中断服务的中断源中,产生最高优先级的中断源编号
- 隐含执行上面方法中的两条识别中断源的指令,直接通过硬件转向这个中断源的中断服务程序入口
- 不需要进入公共的中断服务程序,用硬件实现,快速向中断服务程序入口地址转移
5 独立请求法
- 各个中断源使用自己的独立的中断请求线
- 通过仲裁线路,选择优先级最高的中断源
- 将串行排队器集中到处理机中,克服了串行排队链法可靠性差确定,但灵活性差
独立分组请求法
- 把独立请求发法与穿行排队链法结合起来
- 组内采用用串行排队链法,组件采用独立请求法
4.2.4 中断现场的保存和恢复
- 程序计数器PC,由硬件完成保存
- 处理机状态字、堆栈指针、基址寄存器、中断屏蔽码等。保存与恢复方法有:主存固定区域,压入系统堆栈、交换处理机状态字。也可以采用软件在中断服务程序中保存和恢复。
- 软件现场:中断服务程序中被破环的通用寄存器。一般采用软件来保存和恢复现场
4.2.5 中断屏蔽
中断屏蔽的三个用处:
- 中断优先级由硬件确定了的情况下,改变中断源的中断服务顺序
- 决定设备时否采用中断工作方式
- 多处理机中,把外围设备的服务工作分配到不同处理机中
中断屏蔽实现
- 每级中断源设置屏蔽位
- 改变处理机优先级
中断响应顺序
中断服务顺序
首先关CPU中断,撤销中断请求,再开中断,D1执行一小段时间,响应D2…
在响应一个中断请求之后,如果没有屏蔽其他中断,之后会相应其他中断。
实现方法
- 改变处理机优先级
只有高于处理机的优先级才能才能被响应
4.3 通道处理机
4.3.1 通道的作用和功能
1 三种基本输入输出方式存在的问题
- CPU输入输出负担很重
- 低速外围设备,每传送一个字符都要由CPU执行一段程序来完成
- 高速外围设备初始化、前处理、后处理等工作需要CPU完成
- 大型机中的外围设备台数很多,但一般并不同时工作,让DMA控制器能被多台设备共享,提高硬件的利用率
2 通道的主要功能
4.3.2 通道的工作过程
通道完成一次数据输入输出的过程分三步
- 用户程序使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道
- 通道处理机执行通道程序,完成指定的数据输入输出
- 通道结束后,再次调用管理程序进行处理
完成一次输入输出,CPU只需要调用两次管理程序
4.3.3 通道种类
1 字节多路通道
- 采用分时方式工作,为多台中低速外围设备服务
- 有多个子通道,每个子通道连接一个控制器
- 子通道共享通道控制模块,拥有独立寄存器
- 可以在主存中开辟固定区域充当寄存器
2 选择通道
- 为高速外围设备服务
- 一旦选中一个设备,通道就进入“忙”状态,知道该设备的数据传输工作全部完成为止
- 只有一个以成组方式工作的子通道
3 数组多路通道
- 字节多路通道和选择通道的结合。
- 每次为一台高速设备传送一个数据块,并轮流为多台外围设备服务。
- 数组多路通道的实际工作方式是:在为一台高速设备传送数据的同时,有多台高速设备可以在定位或者在找扇区。
- 与选择通道相比,数组多路通道的数据传输率和通道的硬件利用都很高
- 一次输入输出过程中要多次与同一台高速外围设备连接和断开,控制硬件的复杂度也高
4.3.4 通道中的数据传送过程
字节多路通道
所
需
要
的
总
时
间
T
B
Y
T
E
=
(
T
S
+
T
D
)
∗
p
∗
n
所需要的总时间 T_{BYTE} = (T_S+T_D)*p*n
所需要的总时间TBYTE=(TS+TD)∗p∗n
选择通道
4.3.5 通道流量分析
- 通道流量: 单位时间内能够传送的最大数据量。又称通道吞吐率,通道数据传输率等
- 通道最大流量:通道在满负荷工作状态下的流量
- 为了保证通道不丢失数据,通道实际流量不应该大于通道最大流量
4.4 输入输出处理机
能够独立承担输入输出工作的专用处理机
4.4.1 输入输出处理机的作用
通道处理机存在的问题:
- 每完成一次输入输出操作要两次中断CPU的现行程序
- 通道处理机不能处理自身及输入输出设备的故障
- 数据格式转换、码制转换、数据块检验等工作要CPU完成
- 文件管理、设备管理等工作,通道处理机本身无能为力
输入输出处理机除了能够完成通道处理机的全部功能之外,还具有如下功能
- 输入输出处理机还可以根据需要完成分配给它的其它任务,如数据库管理等
- 除了具有数据的输入输出功能之外,还具有运算功能和程序控制等功能
- 不仅能够执行输入输出指令,还能够执行算术逻辑指令和程序控制指令等,就象一般的处理机那样
4.4.2 输入输出处理机的种类
4.5 总线系统
- 总线是用于互连计算机、CPU、存储器、I/O端口及外部设备、远程通信设备间信息传送通路的集合
- 总线与其相配合的附属控制电路统称为总线系统
- 按照信息传送功能、性能的不同,总线系统包括数据线、地址线、时序和中断信号等控制/状态线、电源线、地线以及备用线等
4.5.1 总线分类
4.5.2 总线的控制方式
集中式控制
总线控制机构基本集中在一起,不论是在连接到总线的一个部件中,还是在单独的硬件中
集中式串行链接
- 优先次序是由“总线可用”线所接部件的物理位置决定的
- 优点: 选择算法简单; 部件增减容易,可扩充性好;逻辑简单容易通过重复设置提高可靠性
分布式控制
总线控制逻辑分散在连到总线的各个部件间
4.5.3 总线的通讯方式
同步通讯: 两个不讲信息通过定宽、定距的系统时标进行同步
- 传送效率高,受总线影响小
- 出现同步误差,受干扰
异步通信
- 单向控制:通信过程之手目的或源部件中的一个控制
优点:简单、高速 - 双向控制:由源和目的双方控制
异步单向源控式
异步单向目控式通信:解决传送有效性检验
异步请求回答双向控制
非互锁方式
- 若下一个数据准备到达目的部件时,上一个数据接收仍然处在高电平,这样“数据准备”就会使“数据接收”一直处在高电平,从而出错。
互锁方式
下一个“数据准备信号”只能在“数据接收”信号接收后才会被发出
- 硬件控制复杂
- 适应不同俗的的设备,保证数据正确,并且有较高的数据传输速率
4.5.4 数据宽度
- 数据宽度是I/O设备取得I/O总线后所传输的数据的总量,而数据通路宽度,是数据总线的物理宽度。
- 一个数据宽度可能需要多个数据周期才能完成