通道是负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件
1、通道有专门的指令
输入输出系统2部分
IO软件与硬件
IO指令:操作码、命令码、设备码
操作码:判别其他指令的判别代码
命令码:体现IO设备的具体操作
数据从I/O输设备入主机
数据从主机输出至IO设备
状态测试:利用命令码检测各个IO设备所处的状态是“忙”还是”准备就绪
形成某些操作命令:不同的IO设备与主机交换信息需要不同的操作,硬盘
设备码:多台IO设备的选择码
相当于设备地址
通道指令是通道自身的指令,IO指令是CPU指令系统的一部分
I/O接口通常指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。
I/O接口的功能:
(1)选址功能
设备选择线的设备码发送到所有的设备接口,与本设备码相符,本设备发出sel信号(设备选中信号)
(2)传送命令功能:
CPU发出命令,IO设备进行响应,IO接口中设有存放命令的命令寄存器和命令译码器
(3)传送数据的功能
接口中有数据缓冲寄存器,存放设备与主机准备交换的信息。
(4)反应I/O设备工作状态的功能:
为了让CPU知晓设备的工作状态,接口设置了反应设备工作状态的触发器(完成触发器D,工作触发器B)
完成触发器D D=1 准备工作已完成 D=0准备工作未完成
工作触发器B B=1 外部设备忙工作 B=0外部设备准备就绪
中断请求触发器INTR INTR=1 发出中断请求
屏蔽触发器MASK MASK=1 尽管设备已完成工作,依然不能向CPU发出中断请求
接口的组成:
数据缓冲寄存器DBR、设备选择电路、设备状态标记、命令寄存器和命令译码器、控制逻辑电路
接口的分类:
1、按数据传送方式分:并行接口 串行接口
并行是一个字节的所有位同时传送,串行是一位(bit)一位传送。
2、按功能选择的灵活性分:可编程接口 不可编程接口
不可编程:不能由程序来改变其功能。
3、按通用性分类: 通用接口 专用接口
专为某些外设或用途专门设计的。
4、数据传送的控制方式分:程序型接口和DMA接口
程序型接口:连接速度较慢的IO设备:显示器、打印机
DMA接口:连接高速设备:磁盘
程序查询方式:
每时每刻不断查询IO设备是否准备就绪。
3个指令:测试指令、传送指令、转移指令
二、IO中断
中断方式的电路:
1、配置中断请求触发器和中断屏蔽出发器
2、排队器
3、中断向量地址形成部件
如何找到中断服务程序的入口地址?
软件查表
硬件向量法:硬件产生向量地址,再由向量地址找到入口地址
中断号:
向量地址(指针):就是类似指针指向了中断程序的入口地址
4。程序中断方式接口电路的组成:
DBR 数据缓冲寄存器
设备选择电路
命令寄存器和命令译码器:
设备状态标记:工作触发器B、完成触发器D、中断请求触发器INTR、屏蔽触发器MASK
排队器
设备编码器(产生向量地址)
四、IO除了中断的过程
CPU 什么响应中断请求?
CPU内部有一个允许中断触发器 当EINT = 1时,CPU允许中断
(1)条件
开中断指令将EINT 置“1”
关中断指令将EINT 置“0”或硬件自动复位
五、中断服务流程
(1)保护现场
程序断点保护 (硬件完成)中断隐指令
寄存器内容保护 进栈指令
(2)中断服务
(3)恢复现场 出栈指令
(4)中断返回 中断返回指令
返回到原来程序执行的地方
2、单重中断和多重中断
单重中断
不允许现行的中断服务程序
多重中断
中断程序执行过程中,允许级别更高的中断源中断先行的中断服务程序
DMA方式
主存——DMA接口——I/O设备 不经过CPU (不阻塞)
DMA与主存交换数据的三种方式:
首先声明:DMA工作会占用数据总线、
(2)周期挪用(方寸周期)
DMA访问主存的三种可能
。CPU此时不访问主存
。CPU正在访问主存
。CPU和DMA同时请求内存
DMA优先,CPU放弃总线的控制权,放弃对内存的访问权交给DMA
(3)DMA和CPU交替访问
二、DMA接口的组成和功能
1、DMA接口的功能:
(1)向CPU申请DMA传送
(2)处理总线的控制权转交
(3)管理系统总线、控制数据传送
(4)确定数据传送的首地址和长度
修正传送过程
2、DMA接口的组成
地址寄存器AR:
交换的信息存在主存的哪个地址中
计数器WC (计数传输的数据量)
数据缓冲器BR
保持外部设备输入的数据
设备地址寄存器(DAR)
DMA控制逻辑
中断机构:
数据传输完成后
三、DMA的工作过程
(1)DMA传送过程
预处理、数据传送、后处理
预处理:通知DMA控制逻辑传送方向
设备地址-》DMA的DAR(设备地址寄存器)
主存地址-》DMA的AR(地址寄存器)
传送字数-》DMA的WC(计数器)
后处理:由中断服务程序完成
校验送入主存的数据是否正确
是否使用DMA
测试传送过程是否正确,错则转诊断程序
过程:
CPU做 预处理(主存起始地址->设备地址->传送数据个数->启动设备)
-> 数据传送(继续执行主程序,同时完成一批数据传送)
-> 后处理(中断服务程序,做DMA结束处理)
-> 继续执行主程序
(2)DMA接口与系统的连接方式
1、具有公共请求线的DMA请求:
2、独立的DMA请求:
(3)DMA方式和中断方式比较
中断方式 DMA方式
数据传送 程序 硬件
响应时间 指令执行结束 存取周期结束
处理异常情况 能 不能
中断请求 传送数据 后处理
优先级 低 高
(4)DMA接口的类型
1、选择型:
2、多路型: