CollegeofComputerScience&Technology输入输出系统输入输出系统I.概述-I/O基本知识概述I/O系统发展概况I/O系统的组成I/O编址方式I/O传送方式I/O与主机之间的联络方式I/O与主机之间的连接方式输入输出系统I/O系统的发展情况(1)早期分散连接CPU和I/O串行工作程序查询方式(2)接口模块和DMA阶段总线连接CPU和I/O并行工作(3)具有通道结构的阶段(4)具有I/O处理机的阶段中断方式DMA方式输入输出系统I/O软件•I/O指令•通道指令--CPU指令的一部分--通道自身的指令I/O硬件•设备+I/O接口•设备+设备控制器或者+通道I/O系统的组成输入输出系统I/O系统的编址方式(1)统一编址0x00000xFEFF0xFF000xFFFF共256个地址共65280个地址(2)独立编址0x00000xFFFF0x000xFF共256个地址共65536个地址有专门的I/O指令访问I/O不占用主存的空间用取数、存数指令访问I/O占用主存的空间Load,StoreIN,OUT输入输出系统I/O传送方式串行并行--适合于短距离,速度快的I/O--适合于距离较远,速度较慢的I/O输入输出系统I/O与主机之间的联络方式(1)立即响应(2)异步工作采用应答信号(3)同步工作采用同步时标“Ready”“Strobe”I/O接口I/O设备CPUe.g.异步并行输入输出系统I/O与主机之间的连接方式辐射式连接总线连接外设Ⅰ外设Ⅱ外设Ⅲ主机不便于增删设备每台设备都配有一套控制线路和一组信号线便于增删设备主机外设Ⅰ外设Ⅱ外设Ⅲ输入输出系统II.外部设备1.外部设备分类(1)人机交互设备(2)信息驻留设备(3)通信设备如:键盘鼠标打印机显示器如:磁盘光盘磁带如:网卡调制解调器等2.I/O接口I/O接口的作用I/O接口的组成I/O接口类型接口的作用•传输速度匹配-数据缓冲•数据格式匹配-格式转换•电平标准匹配-电平转换•传送主机对I/O的控制命令•实现对设备的选择•反应外设的工作状态输入输出系统II.外部设备2.I/O接口I/O接口的作用I/O接口的组成I/O接口类型接口的作用•传输速度匹配-数据缓冲•数据格式匹配-格式转换•电平标准匹配-电平转换•传送主机对I/O的控制命令•实现对设备的选择•反应外设的工作状态数据寄存器控制寄存器状态寄存器输入输出系统II.外部设备地址选择器件2.I/O接口I/O接口的作用I/O接口的组成I/O接口类型接口的组成•数据寄存器•控制寄存器•状态寄存器•地址选择器件端口编址问题输入输出系统II.外部设备I/O接口CPU外设数据寄存器控制寄存器状态寄存器端口地址数据IORIOW数据控制状态CPU对外设的操作,通过对I/O接口寄存器的读/写进行•数据寄存器:CPU向外设输出的数据/由外设输入数据•控制寄存器:CPU设置接口工作方式,数据传送方向等•状态寄存器:CPU由该寄存器获知外设的状态I/O接口的一般结构输入输出系统II.外部设备2.I/O接口I/O接口的作用I/O接口的组成I/O接口类型IO接口类型按数据传送方式分类•串口、并口按功能选择的灵活性分类按通用性分类•可编程接口、不可编程接口•通用接口、专用接口输入输出系统II.外部设备输入输出系统CPU如何完成与I/O设备之间的数据传送?III.I/O控制方式无条件传送方式查询方式中断方式DMA方式通道方式IO处理机方式最简单的传送控制方式任何时刻均可以进行数据的输入/输出,不需要进行状态条件的检查,故又称为直接控制方式适用于状态变化缓慢的外部设备,如开关,LED等这种外设的接口简单:•一个三态缓冲器作为输入接口•一个锁存器作为输出接口无条件传送方式输入输出系统III.I/O控制方式CPU查询外设的状态标记,确定是否可以从外设读出/写入一个数据程序查询方式特点:CPU与外设进行数据交换时,在外设准备数据的过程中,CPU处于查询等待状态,不能进行其他的操作,CPU利用效率低。检查状态标记交换数据准备就绪?是否CPU启动外设输入输出系统III.I/O控制方式检查状态标记1设备1准备就绪?检查状态标记N设备N准备就绪?…处理设备1是否否处理设备N是程序查询方式处理多个IO设备按优先级查询即:设备1〉设备2..〉设备N等优先级查询即:每次从上一次响应的下一个设备开始查询输入输出系统III.I/O控制方式程序查询方式设置内存缓冲区首址设置计数器启动外设传送一个数据修改内存地址修改计数值结束I/O传送准备好?传送完?未完是完否程序查询方式-程序流程测试状态位传送一个数据准备就绪?是否CPU启动外设传送一个数据的流程图传送多个数据的流程图设备选择电路DBRQQ&数据线准备就绪启动命令地址线SEL输入数据启动设备设备数据就绪④DB①②③⑤⑥1010④程序查询方式-接口结构e.g:某I/O接口的状态控制寄存器如下:…7610启动位就绪位错误位端口号:数据寄存器50H状态控制寄存器51HI/O指令格式:INnOUTnn为端口号AX为隐含源/目的操作数程序查询方式MOVAL,40HOUT50HT:IN51HTESTAL,02HJZTIN50H