主机和外设之间进行信息交换一定要通过接口,原因:主机和外设各自具有自己的工作特点,它们在信息形式和工作速度上具有很大的差异,接口正是为了解决这些差异而设置的
1: 主机和外设之间交换的信息
1) 数据信息
2) 控制信息
3) 状态信息
4) 联络信息——决定不同工作速度的外设和主机之间交换信息的最佳时刻
5) 外设识别信息——使得主机能准确选择进行信息交换的设备
2: 接口的功能
1) 实现主机和外设的通信联络控制
2) 进行地址译码和设备选择
3) 实现数据缓冲
4) 数据格式的变换
5) 传递控制命令和状态信息
3:接口的组成
1) 数据端口:存放数据信息的寄存器
2) 命令端口:存放控制命令的寄存器,只能写,将CPU的各种控制命令发送给外设
3) 状态端口:存放状态信息的寄存器,只能读,将外设的状态标志送到CPU中去
注意:端口都是寄存器
4:端口地址编址方式
1) 独立编址:主存地址空间和I/O端口地址空间是相对独立的,分别单独编址;在指令系统中必须设置专门的I/O指令
2) 统一编址
每个外设至少有两个寄存器:控制状态寄存器和数据缓冲寄存器
5:输入输出信息传送控制方式
1) 程序查询方式——程序直接控制,输入和输出完全通过CPU执行程序来完成;但外设和主机不能同时工作,各外设之间也不能同时工作
2) 程序中断方式——外设做好输入输出准备时,就向主机发送中断请求,主机响应中断进行处理;当外设数目较多时,中断请求过分频繁,可能使CPU应接不暇,造成信息丢失
3) 直接存储器存取方式——在主存和外设之间开辟直接的数据通路,只能进行简单的数据传送操作;在数据块传送的起始和结束时还需要CPU及中断系统进行预处理和后处理
4) I/O通道控制方式——通道是一个具有特殊功能的处理器,能独立地执行通道程序,产生相应的控制信号,实现对外设的统一管理和外设与主存之间的数据传送;但它需要在CPU的I/O指令指挥下才能启动、停止或改变工作状态;一次数据传送(注意和3中数据块的区别),只打扰CPU两次(启动和停止)
6:程序查询方式——CPU执行一段程序不断的查询I/O设备是否准备就绪
至少有两个寄存器:数据缓冲寄存器(数据端口),状态寄存器(状态端口)
7:中断——计算机执行现行程序的过程中,出现某些急需处理的异常情况和特殊请求,CPU暂停中止现行程序,而转去对随机发生的更紧迫的事件进行处理,在处理完毕后,CPU将自动返回原来的程序继续执行
1) 中断基本类型:自愿中断和强迫中断,程序中断和简单中断,内中断和外中断(CPU内部和外部),向量中断和非向量中断,单重中断(不能被打断)和多重中断(可以转去执行更高的中断请求)
2) 中断请求信号的传送:独立请求线(每个中断源单独设置中断请求线),公共请求线(共用一条请求线),二维结构(同一级别的共用一条,不同级别的使用不同请求线)
3) CPU响应中断的条件:接收到中断请求信号、允许中断、一条指令执行完毕
4) 中断隐指令——CPU响应中断后,转去执行中断服务程序,这些操作由硬件直接实现,称为中断隐指令
保存断点、暂不允许中断、引出中断服务程序
5) 中断屏蔽——用程序方式有选择的封锁部分中断
中断全过程——中断请求、中断判优、中断响应、中断处理、中断返回
8:DMA方式——DMA控制器接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用
DMA控制器的组成
1) 主存地址控制器:用来存放待交换数据的主存地址,初始值是主存缓冲区的首地址,每传送一个数据,将地址计数器加1
2) 传送长度计数器:用来记录传送数据块的长度,初始值为传送数据的总字数或总字节数,每传送一个字或一个字节,计数器自动减1,为0时表示数据全部传送完毕
3) 数据缓冲寄存器:用来暂存每次传送的数据
4) DMA请求触发器
5) 控制/状态逻辑:用于指定传送方向,修改传送参数等
6) 中断机构:当一个数据块传送完毕后出发中断机构
DMA控制器与CPU采用以下3种方法使用主存
1) CPU停止访问主存法——DMA操作期间,CPU处于保持状态,停止访问主存
2) 存储器分时法——一个存取周期分成两个时间片,一片分给CPU,一片分给DMA
3) 周期挪用法
9:通道控制方式与DMA方式的区别
1) DMA控制器是通过专门设计的硬件控制逻辑来实现对数据传送的控制;而通道则是一个具有特殊功能的处理器,具有自己的指令和程序
2) DMA控制器只能控制一台或少数几台同类设备;而一个通道则可以同时控制许多台同类或不同类的设备