2019/9/10©2011第7版1第9章I/O系统组织2019/9/102本章学习内容•I/O系统的功能•接口的功能•中断的基本概念•DMA的基本概念•通道的基本概念2019/9/1039.1I/O系统概述•I/O系统的基本功能•①为数据传输操作选择输入/输出设备。•②控制被选的输入/输出设备与主机之间的信息交换。2019/9/104I/O系统需解决的主要问题•解决主机与外部设备间的信息通讯问题,提供主机与外设间的信息通路,使外围设备与主机能够协调一致地工作。•①使处理机与外部设备在数据处理的速度上能够相互匹配。解决方法:缓冲技术•②使处理机与外部设备能够并行工作,以提高整个计算机系统的工作效率。解决方法:减少处理机对外部设备的直接控制,乃至处理机不再干预外部设备的控制,而交由专门的硬件装置去实现对外部设备的管理与监督。2019/9/1059.1.2I/O系统的组成•典型计算机系统中I/O系统的组成:•系统总线、I/O设备接口控制器、I/O设备、相关控制软件。CPU内存储器设备接口系统总线...I/O设备I/O设备I/O设备设备接口设备接口I/O设备2019/9/106•现代计算机系统中I/O系统的组成:•扩展总线、I/O设备接口控制器、I/O设备、相关控制软件。系统总线主存储器高速缓冲存储器/总线桥处理机高速总线SCSI接口适配器FireWire接口适配器局域网接口适配器图形接口适配器扩展总线扩展总线接口传真机接口适配器调制解调器接口适配器串行接口适配器局部总线2019/9/107•扩展总线及I/O接口控制器的作用:•①分流CPU和内存之间以及外设和内存之间的数据流•现代计算机系统的主机与外设工作速度相差很大,需要分流CPU和内存之间以及外设和内存之间的数据流,因此需要引入扩展总线。•②便于系统实现标准化、模块化。•系统总线(也包括扩展总线)中的控制总线通常定义为通用或标准的信号,而具体的I/O设备设置的是专用的控制信号,因此需要I/O接口控制器进行信号的转换。2019/9/108•I/O设备控制接口的发展趋势•在现代计算机系统中,许多I/O设备的控制器中(比如磁盘控制器、激光打印机)往往会采用专用的微处理器对有关设备进行控制,使用相应的设备控制程序。•因此传统的单纯由硬件电路实现的I/O设备控制接口,逐渐演变为由软、硬件相互配合的I/O设备控制接口。2019/9/1099.1.3主机与外设间的连接方式与组织管理•主机与外围设备的连接方式大致可分为:•总线方式•通道方式•I/O处理机方式(IOP方式)2019/9/10101.总线型连接方式•CPU通过系统总线与主存储器,I/O控制器,I/O接口电路相连接,通过I/O接口电路进一步实现对外设的控制。•系统总线包括地址总线,数据总线和控制总线,分别用于传送地址信号,数据信号和控制信号(如读/写信号、中断申请及应答信号等)。2019/9/10112019/9/1012•总线型连接方式的优点:•系统模块化程度较高,I/O接口扩充方便。•总线型连接方式的缺点:•系统中部件之间的信息交换,均依赖于总线,总线成为系统中的速度瓶颈,因而不适于系统需配备有大量外设的场合。•实际设备中,一种I/O接口适配器也可以控制多台I/O设备,如多用户卡。一块多用户I/O适配器,可以控制多台终端的工作,这种方式称之为现代星型I/O设备的连接方式。2019/9/1013多用户接口适配器终端终端…总线2019/9/10142.通道控制连接方式•通道控制方式•由通道控制器执行专门的通道程序,通过I/O总线控制接口与外设。•通道控制连接方式主要用于连接外设数量多,外设类型多,外设速度差异大的大型主机系统。2019/9/1015系统总线I/O总线绘图仪扫描仪磁盘阵列软盘驱动器光盘驱动器打印机硬盘驱动器处理机通道控制器内存储器I/O控制器I/O控制器I/O控制器I/O控制器2019/9/1016•通道控制器是专门负责I/O操作的控制器,它执行一种专门的通道程序,可与CPU并行工作。•通道控制器通过执行通道程序或采用DMA方式实现存储器与外部设备之间的直接数据传输,减少CPU对I/O处理工作的控制。通道控制器2019/9/1017•从连接角度看,主机一般通过单独的数据通路分别连接数目有限的通道,各通道再通过I/O总线连接I/O接口,再与外设连接。•通道的四级连接方式:•主机→通道→I/O接口(设备控制器)→外设2019/9/1018通道的四级连接方式外设。。。I/O控制器CPU主机图1-10大型、中型计算机系统的典型结构存储器通道通道I/O控制器I/O控制器I/O控制器外设外设外设外设外设外设外设。。。2019/9/10193.I/O处理机控制连接方式(IOP方式)•I/O处理机(IOP)•一种具有比I/O通道更强独立性的专用CPU。•IOP有自己的指令系统,可编程控制,适应性强、通用性好。其程序的执行可与CPU并行,可使CPU彻底摆脱对I/O的控制处理。•IOP可大可小,大的如在巨型机系统中,IOP可为一台通用的小型机或中型计算机,称为前端处理机;小的则为一块大规模集成电路芯片,如Intel公司为其微处理器(CPU)8086配套的IOP—8089。2019/9/10209.1.4I/O信息传送的控制方式•I/O数据传送控制方式也称I/O信息交换方式。•I/O数据传送控制方式与主机和外设之间的连接方式有很大的关系,各种方式有不同的适用对象和应用场合,需要相应的硬件来支持。2019/9/1021•按I/O控制组织的演变顺序和外设与主机并行工作程度以及数据传送的控制方式,对I/O数据传送控制分类如下:•直接程序控制方式:••程序中断方式:••DMA方式:•通道方式•I/O处理机方式由专有硬件控制的数据传送由程序控制的数据传送采用辅助硬件实现适合快速外设快、慢设备均适用适合于大、中型机适合慢速外设适合于小微型机2019/9/1022(1)由程序控制的数据传送•这种控制方式是指在主机和设备之间的I/O数据传送,需要通过处理机执行具体的I/O指令来完成。即由处理机执行所谓的I/O程序,实现对整个I/O数据传送过程的全程监督与管理。•程序控制方式一般在总线型连接方式中采用。•由程序控制的数据传送可进一步分为直接程序控制方式和程序中断传送方式。2019/9/1023(2)由专有硬件控制的数据传送•这种控制方式需要在系统中设置专门用于控制I/O数据传输的硬件装置,处理机只要启动这些装置,就会在它们的控制下完成I/O数据传输,因此具体的I/O数据传输过程无需处理机的控制。•由专有硬件控制的数据传送可具体分为:•直接存储器存取(DMA)方式•通道控制方式•I/O处理机控制方式2019/9/10249.2I/O接口•接口:通常指设备(硬件)之间的界面。•I/O接口:主机(系统总线)与外部设备或其它外部系统之间的接口逻辑。2019/9/10259.2.1I/O接口的基本功能•⑴实现数据的传送、缓冲、隔离和锁存。•⑵实现信号形式和数据格式转换。•⑶控制主机与外设之间的通信联络,实现控制命令和状态信息的交换,保证时序协调。•⑷寻址,即识别设备地址,选择指定的设备和I/O端口。2019/9/1026CPU和外设之间传送的信息•⑴数据信息•①数字量•数字量是指用二进制码形式提供的信息,如用二进制形式表示的数据、以ASCII码形式表示的字符等。通常有8位、16位和32位数据。•②模拟量•模拟量是指连续变化的物理量,如温度、湿度、位移、压力、流量等。计算机无法直接接收和处理模拟量,要经过A/D变换将模拟量变成数字量,才能送入计算机;同样,计算机输出的数字量要经过D/A变换将数字量变成模拟量,才能送入使用模拟量的外设。2019/9/1027•③开关量•开关量有两个状态:如开关的闭合和断开、设备的启动和停止等,可以“0”和“1”表示。2019/9/1028•⑵状态信息•状态信息就是反映当前外设所处的工作状态的信息。•在与外设进行数据信息的交换时,CPU需要通过状态信息了解外设的工作状态。通常外设用准备好(READY)信号来表明是否准备就绪;用忙(BUSY)信号表示是否处于空闲状态。例如,当输入设备准备好向系统输入的数据信息时,就用READY信号通知CPU读入数据;输出设备只有处于空闲状态(不忙)时,才可以接收CPU送来的信息。•外设的状态信息通过接口送往CPU。2019/9/1029•⑶控制信息•在外设的工作过程中,CPU需要通过控制信息控制外设的工作,如对外设的启动和停止等。不同外设所需的控制信息各不相同,因此CPU需要通过接口将控制信息传送给外设。2019/9/1030I/O信息的传送•数据信息、状态信息和控制信息各不相同,应该分别传送。•为了便于处理,将状态信息、控制信息也广义地看成数据信息,通过数据总线来传送。为了区别这三种信息,在接口线路中将它们分别送入不同的寄存器(I/O端口)。•CPU同外设之间的信息传送实质上是对相应的寄存器进行“读”或“写”操作。•端口(Port或I/O端口):接口中可以由CPU进行读或写的寄存器。2019/9/1031I/O端口的寻址方式•对I/O设备的寻址实质上就是对I/O端口的寻址。•⑴I/O端口与主存统一编址•将一个I/O端口作为存储器中的一个单元对待,每一个I/O端口占用一个存储器单元地址。编址时将I/O端口与存储器单元一起进行编址。•又称为存储器对应的输入输出方式或存储器映象编址方式。2019/9/1032I/O端口与主存统一编址内存I/O端口内存2019/9/1033•I/O端口与主存统一编址方式的优点:•①CPU可使用所有存储器操作指令对I/O端口中数据进行操作,十分灵活和方便。•②不需要用专门的指令及控制信号区分是存储器还是I/O操作。使得系统相对简单。•I/O端口与主存统一编址方式存在的缺点:•①I/O端口占用了内存单元的部分地址空间,使内存容量减小。•②由于在程序中不易分清指令访问的是存储器还是I/O端口,所以采用这种方式编制的程序不易阅读。2019/9/1034•⑵I/O端口独立编址•将I/O端口与存储器单元分别独立进行编址,CPU访问外设时,需使用专门的I/O指令,并需要有与接口电路联系的单独的控制信号。•也称为I/O端口寻址输入输出方式。存储器I/O端口FFFFH0000HFFFH000H2019/9/1035IBMPC中I/O地址的分配输入/输出设备占用地址数地址(16进制)硬盘控制器16320~32F软盘控制器83F0~3F7彩色图形显示适配器163D0~3DF异步通讯控制器83F8~3FF2019/9/1036•I/O端口独立编址方式的优点:•①I/O端口具有独立的地址空间,不占用内存空间。•②I/O指令中的地址字段的长度较短,可以节省指令存储空间和指令执行时间。•③由于访问存储器和访问I/O端口使用不同的指令,因此编制的程序比较清晰易读。•I/O端口独立编址方式的缺点:•I/O操作指令的种类通常没有存储器操作指令丰富,设计程序时不够方便。2019/9/10379.2.2接口的基本组成CPU外部设备数据寄存器(组)状态寄存器(组)控制寄存器(组)状态字生成逻辑控制信号生成逻辑地址译码数据总线地址总线控制总线外部数据线状态信号线命令控制线2019/9/1038•⑴设备选择电路•用于接收总线传来的地址信息,经译码后,决定选择哪个设备或I/O接口内部的部件。•⑵数据缓冲寄存器(数据端口)•用于存放主机与外设之间要传递的数据信息。•⑶命令寄存器(控制端口)•用于存放主机向外设发送的控制命令。•⑷状态寄存器(状态端口)•用于存放外设或接口的工作状态。•⑸其它有关部件•如中断控制逻辑、DMA控制逻辑以及各类特殊部件。2019/9/10399.2.3I/O接口的分类•1.按数据传送格式分•串行接口:接口与设备之间的信息传送是逐位串行进行的。•并行接口:接口与设备之间的信息传送是将一个字或一个字节的所有位同时并行地进行传送的。2019/9/10402019/9/1041主机串行接口外设T