第9章输入输出组织 ●输入输出组织是用来控制外设与内存或CPU 之间进行数据交换的机构;是计算机系统中 重要的软、硬件结合的子系统。 ●通常把JO设备及其接口线路、控制部件、通道或IO 处理器以及ⅣO软件统称为输入输出系统,其要解决 的问题是对各种形式的信息进行输入和输出的控制。 ●重点介绍O接口的功能和结构、IO设备的编址和 寻址、以及在主机和外设间进行数据传送的各种输 入输出控制方式等内容
第9章 输入输出组织 ● 输入输出组织是用来控制外设与内存或CPU 之间进行数据交换的机构;是计算机系统中 重要的软、硬件结合的子系统。 ● 通常把I/O设备及其接口线路、控制部件、通道或I/O 处理器以及I/O软件统称为输入输出系统,其要解决 的问题是对各种形式的信息进行输入和输出的控制。 ● 重点介绍I/O接口的功能和结构、I/O设备的编址和 寻址、以及在主机和外设间进行数据传送的各种输 入输出控制方式等内容
91JO接口 ■完成各个外设和主机之间的同步与协调、工 作速度的匹配和数据格式转换的逻辑部件称 为O接口( 0 Interface) 从功能上来说,PC中的各种ⅣO控制器或设备控制器 (包括适配器或适配卡)都是ⅣO接口;在大型机中 的ⅣO模块就是担负大量复杂的外设控制任务的通道 或IO处理器
9.1 I/O接口 ■ 完成各个外设和主机之间的同步与协调、工 作速度的匹配和数据格式转换的逻辑部件称 为I/O接口(I/O Interface)。 ■ 从功能上来说,PC中的各种I/O控制器或设备控制器 (包括适配器或适配卡)都是I/O接口;在大型机中 的I/O模块就是担负大量复杂的外设控制任务的通道 或I/O处理器
91.1IO接口的功能 ◆ⅣO接口是连接外设和主机的一个“桥梁” ●I/O接口的外设侧、主机侧各有一个接口。主机侧的 接口称为内部接口,外设侧的接口称为外部接口, ●内部接口通过系统总线和内存、CPU相连,而外部接口则通 过各种接口电缆(如,串行电缆、并行电缆、网线或SCSI电 缆等)将其连到外设上。 ◆IO接口的功能 ①数据缓冲:主存和CPU寄存器的存取速度非常快,而外设速 度则较低,所以在ⅣO接口中引入数据缓冲寄存器,以达到 主机和外设工作速度的匹配
9.1.1 I/O接口的功能 ◆ I/O接口是连接外设和主机的一个“桥梁” • I/O接口的外设侧、主机侧各有一个接口。主机侧的 接口称为内部接口,外设侧的接口称为外部接口, • 内部接口通过系统总线和内存、CPU相连,而外部接口则通 过各种接口电缆(如,串行电缆、并行电缆、网线或SCSI电 缆等)将其连到外设上。 ◆ I/O接口的功能 ① 数据缓冲:主存和CPU寄存器的存取速度非常快,而外设速 度则较低,所以在I/O接口中引入数据缓冲寄存器,以达到 主机和外设工作速度的匹配
②错误或状态检测:提供状态寄存器,以保存各种状 态信息供CPU查用。 接口和外设发生的出错情况有两类:一类是设备电 路故障或异常情况;另一类是数据传输错,这种错 误是通过在每个字符上采用一个奇偶校验位来检测 的 ③控制和定时:提供控制和定时逻辑,以接受从系统总线来 的控制和定时信号。以协调内部资源与外设间动作的先后关 系,控制数据通信过程。 ④数据格式转换:提供数据格式转换部件(如:进行串-并转 换的移位寄存器),使通过外部接口得到的数据转换为内部 接口需要的格式,或在相反的方向进行数据格式转换。 ⑤与主机和设备通信:上述功能都必须通过ⅣO接口与主机或 与设备之间的通信来完成
② 错误或状态检测:提供状态寄存器,以保存各种状 态信息供CPU查用。 • 接口和外设发生的出错情况有两类:一类是设备电 路故障或异常情况;另一类是数据传输错,这种错 误是通过在每个字符上采用一个奇偶校验位来检测 的。 ③ 控制和定时:提供控制和定时逻辑,以接受从系统总线来 的控制和定时信号。以协调内部资源与外设间动作的先后关 系,控制数据通信过程。 ④ 数据格式转换:提供数据格式转换部件(如:进行串-并转 换的移位寄存器),使通过外部接口得到的数据转换为内部 接口需要的格式,或在相反的方向进行数据格式转换。 ⑤ 与主机和设备通信:上述功能都必须通过I/O接口与主机或 与设备之间的通信来完成
◆ⅣO接口与主机侧进行通信 ●对主机通过系统总线送来的地址信息进行译码,以 确定是否选中本设备; 接受系统总线送来的控制信息,以确定数据传送的 方向等; 将接口中数据缓冲寄存器或状态寄存器的信息送到 系统总线,或接收系统总线送来的数据或命令信息, 将其送到接口中的数据缓冲寄存器或控制寄存器。 ◆ⅣO接口与设备进行通信: 将控制寄存器中的命令译码,输出到外部接口的控制线上; 发送数据缓冲寄存器的数据到外部接口的数据线上 接受外设的状态或数据信息,送到接口中的状态寄存器或数 据缓冲寄存器中
◆ I/O接口与主机侧进行通信 • 对主机通过系统总线送来的地址信息进行译码,以 确定是否选中本设备; • 接受系统总线送来的控制信息,以确定数据传送的 方向等; • 将接口中数据缓冲寄存器或状态寄存器的信息送到 系统总线,或接收系统总线送来的数据或命令信息, 将其送到接口中的数据缓冲寄存器或控制寄存器。 ◆ I/O接口与设备进行通信: • 将控制寄存器中的命令译码,输出到外部接口的控制线上; • 发送数据缓冲寄存器的数据到外部接口的数据线上; • 接受外设的状态或数据信息,送到接口中的状态寄存器或数 据缓冲寄存器中
◆数据在外设和主机之间进行传送的过程图9) CP I/O接口 查设备状态 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■I >|回送设备状态 送命令 对命令译码,并 送设备进行控制 取数据或 送数据 从外设取数据或 送数据给外设 图91数据在外设和主机间的传送过程
CP I/O接口 Uc 查设备状态 送命令 取数据或 送数据 回送设备状态 对命令译码,并 送设备进行控制 从外设取数据或 送数据给外设 图9.1 数据在外设和主机间的传送过程 ◆ 数据在外设和主机之间进行传送的过程(图9.1)
9.1.2IO接口的结构 ◆图92IO接口的通用结构 主机侧(系统总线) 设备侧(接口电缆) 图92 数据缓冲寄存器 外设界面 数据 控制逻辑 状态 控制 数据线← 状态/控制寄存器 地址线 地址译码和 外设界面 卡数据 状态 控制线 IO控制逻辑 控制逻辑 控制
9.1.2 I/O接口的结构 ◆ 图9.2 I/O接口的通用结构 数据缓冲寄存器 状态/控制寄存器 外设界面 控制逻辑 外设界面 控制逻辑 …… 地址译码和 I/O 控制逻辑 控制 状态 数据 控制 状态 数据 控制线 地址线 数据线 主机侧(系统总线) 设备侧(接口电缆) 图9.2
91.3IO接口的分类 (1)按数据传送方式分,有并行接口和串行接口 两类。 主机侧的内部接口,数据在接口和主机之间总是通过 系统总线按字节或字或多字进行并行传输; 外设侧的外部接口,数据在接口和外设之间有串行和 并行两种传送方式 ●并行接口在设备和接口之间同时传送一个字节或字的所有位 (如 Intel8255),用于连接快速设备 串行接口则一位一位地传送(如Itel8251),主要用于连接 显示终端等慢速设备。对于串行接口,接口内部必须有串 并转换部件
9.1.3 I/O接口的分类 (1) 按数据传送方式分,有并行接口和串行接口 两类。 • 主机侧的内部接口,数据在接口和主机之间总是通过 系统总线按字节或字或多字进行并行传输; • 外设侧的外部接口,数据在接口和外设之间有串行和 并行两种传送方式。 • 并行接口在设备和接口之间同时传送一个字节或字的所有位 (如Intel 8255),用于连接快速设备; • 串行接口则一位一位地传送(如Intel 8251),主要用于连接 显示终端等慢速设备。对于串行接口,接口内部必须有串- 并转换部件
(2)按功能选择的灵活性来分,有可编程接口 和不可编程接口两类 可编程接口能用程序来改变或选择接口的功能和 操作方式(如: Intel8255、Inel8251) 不可编程接口不能用程序来改变其功能,但可通 过硬连线路逻辑来实现不同的功能(如: Intel 8212)。 (3)按通用性来分,有通用接口和专用接口。 通用接口可供多种外设使用,如 Intel8255、ntel8212; 专用接口是为某类外设或某种用途专门设计的,如 INtel8279 可编程键盘/显示器接口、 Intel8275可编程CRT控制器接口
(2) 按功能选择的灵活性来分,有可编程接口 和不可编程接口两类。 • 可编程接口能用程序来改变或选择接口的功能和 操作方式(如:Intel 8255、Intel 8251)。 • 不可编程接口不能用程序来改变其功能,但可通 过硬连线路逻辑来实现不同的功能(如:Intel 8212)。 (3) 按通用性来分,有通用接口和专用接口。 • 通用接口可供多种外设使用,如Intel 8255、Intel 8212; • 专用接口是为某类外设或某种用途专门设计的,如Intel 8279 可编程键盘/显示器接口、Intel 8275可编程CRT控制器接口
(4)按数据传送的控制方式来分,有程控式接口、 中断式接口和DMA式接口。 ●程控式接口用于连接速度较慢的JO设备,如:显 示终端、键盘、打印机等。 计算机一般都采用程序中断方式实现主机和外设之 间的数据交换,计算机中都配有中断式接口,中断 控制器Inte8259A DMA式接口用于连接如磁盘、磁带等高速设备。 (8237A) (5)按设备的连接方式来分,有点对点接口和多点接口 ●点对点接口只和一个外设相连,如打印机、键盘、调制解调 器等设备。 愈来愈重要的是多点方式,主要用于支持大量的外部存储设 备和多媒体设备(如:CD-ROM、视频和音频)。 ●这种多点接口的典型例子有:SCSI接口和P1394接口。SCSI 接口是一种并行JO总线,P1394接口是一种串行/O总线
(4) 按数据传送的控制方式来分,有程控式接口、 中断式接口和DMA式接口。 • 程控式接口用于连接速度较慢的I/O设备,如:显 示终端、键盘、打印机等。 • 计算机一般都采用程序中断方式实现主机和外设之 间的数据交换,计算机中都配有中断式接口,中断 控制器Intel 8259A。 • DMA式接口用于连接如磁盘、磁带等高速设备。 (8237A) (5) 按设备的连接方式来分,有点对点接口和多点接口。 • 点对点接口只和一个外设相连,如打印机、键盘、调制解调 器等设备。 • 愈来愈重要的是多点方式,主要用于支持大量的外部存储设 备和多媒体设备(如:CD-ROM、视频和音频)。 • 这种多点接口的典型例子有:SCSI接口和P1394接口。SCSI 接口是一种并行I/O总线,P1394接口是一种串行/O总线