1-15 输入输出系统I/O
输入输出系统
IO接口的功能及分类
I/O接口:接口又称界面,指两个独立子系统之间的相联部分。用于连接主机和I/O设备的转换机构就是I/O接口电路。I/O接口主要功能如下:(了解接口)
地址译码功能:实现IO接口地址与内存地址之间的翻译
在主机和I/O设备间交换数据、控制命令及状态信息等:如和打印机交换数据,控制打印机等
支持主机采用程序查询、中断、DMA等访问方式:主机常常采用这3种方式访问外设,每种方式具体实现的细节见后
提供主机和I/O设备所需的缓冲、暂存、驱动能力。
进行数据的类型、格式等方面的转换。
IO接口的分类
- 按数据的传送格式分为并行接口和串行接口。
- 并行接口:一般有很多针脚,接口呈梯形,如VGA口
- 串行接口:如交换机Console口,路由器Serial口S0/0/0
- 按主机访问I/O设备的控制方式,分为程序查询接口、中断接口、DMA接口以及通道控制器、I/O处理机等。
- 按时序控制方式可分为同步接口和异步接口
- 同步接口:两端的时钟需要进行同步,需要在两端配置clock,如路由器Serial口需要配置时钟
- 异步接口:无需同步时钟
IO端口的寻址
IO端口的寻址方式有2种,分别是独立编址的寻址方式和统一编址的寻址方式
独立的I/O寻址方式(独立编址)
I/O设备的端口地址空间与存储器(内存)地址空间是完全分开、互相独立的。使用分开的控制信号来区分是对存储器寻址还是对I/O寻址,对I/O设备的管理是使用专门的输入输出指令来实现数据的传送。
即IO接口的编址和内存地址的编址完全独立,访问时需要通过地址映码,将IO的地址翻译成内存的地址才能访问
存储器映像I/O寻址方式(统一编址)
外围设备的一个端口作为存储器的一个单元来对待,每一个外设端口占用存储器的一个地址单元。存储器与I/O设备之间唯一的区别是:所占用的地址不同,一般指定I/O端口占用地址最高位为“1”的地址空间。
对I/O设备的管理,是利用对存储器的存储单元进行操作的指令实现数据传送的(即通过访问内存来实现对IO设备的控制——访存)。确定是对存储器还是对I/O端口进行访问通过地址总线的最高位状态(1或0)以及读、写控制信号来实现。
即内存和IO接口统一编址,如32位操作系统理论上最大可以寻址2^32 = 4G大小(足够为4G内存编址)的内存空间,实际可用内存空间只有3.7G,其他用于IO编址了
IO接口的控制方式
直接程序控制(软件方式)
这是一种纯软件的控制方式,通过CPU控制软件实现对IO接口的控制
- 程序查询方式
在这种方式下,CPU通过执行程序查询外设的状态,判断外设是否准备好进行数据传送。
- 立即程序传送方式
在这种方式下,默认I/O接口总是准备好接收来自主机的数据,或随时准备向主机输入数据,CPU无须查看接口的状态,而直接执行输入/输出指令进行数据传送。这种方式又称为无条件传送或同步传送。
特点:由于CPU需要控制软件进而控制IO设备,CPU的利用率就很低,因此,这种方式适合工作不太繁忙的系统
中断方式(软件+硬件方式)
这种方式通过软硬件结合来控制IO接口
当出现来自系统外部、机器内部甚至处理机本身的任何例外时,CPU暂停执行现行程序,转去处理这些事情,等处理完成后再返回来继续执行原先的程序。中断处理过程为:
- CPU收到中断请求后,如果CPU的中断允许触发器为1,则在当前指令执行(一个程序包含多个指令)完成后,响应中断。
- CPU保护好被中断的主程序的断点及现场信息。保护现场其实就是保持中断前一时刻的状态不被破环。
- CPU根据中断类型码从中断向量表中找到对应的中断服务程序的入口地址,并进入中断服务程序。
- 中断服务程序执行完毕后,CPU返回中断点处继续执行刚才被中断的程序。
中断处理过程分为两个阶段:
- 中断响应过程:即上述1、2、3步过程,中断响应时间是中断响应过程所用的时间,即从发出中断请求到进入中断处理所用的时间。
- 中断服务过程:即中断服务程序的执行过程
中断方式总结
中断方式是一种硬件和软件相结合的技术,中断请求和处理依赖于中断控制逻辑(硬件)而数据传送则是通过执行中断服务程序(软件)来实现的。
这种方式的特点是:在外设工作期间,CPU无须等待,可以处理其他任务,CPU与外设可以并行工作,提供了系统效率,同时又能满足实时信息处理的需要。但在进行数据传送时,仍需要通过执行程序来完成。
直接存储器存取(DMA)方式
DMA方式不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,可大大提高CPU的工作效率。工作过程如下:
- 向CPU申请DMA传送。
- 获CPU允许后,DMA控制器接管系统总线控制权。
- 在DMA控制器下,在存储器和外设之间直接进行数据传送,在传送过程中不需要中央处理器参与。开始时需提供要传送的数据起始地址和数据长度。
- 传送结束后,向CPU返回DMA操作完成信号即将总线控制权交还给CPU。
IO通道(大型机使用,了解)
通道又称输入/输出处理器(IOP),目的使CPU摆脱繁重的输入输出负担和共享输入输出接口,多用于大型机计算机系统中。根据多台外围设备共享通道的不同情况,
可将通道分为三种类型:字节多路通道、选择通道和数组多路通道。