第五章输入/输出与中断系统 I/O设备是计算机系统必不可少的组成部分,I/0能力的强弱 是评价计算机系统性能优劣的重要指标。计算机系统通过硬 件接口和I○控制程序对IO设备进行控制,使之协调、有效地 完成I/O操作。 汇编语言可以最直接、有效地控制计算机的硬件和各种 I/O外设接口,所以是编写高性能ⅣO程序的最有效语言之 在硬件和接口控制、数据实时采集、实时控制和处理方面, 汇编语言仍然有独到之处的优势。 本章学习计算机中断系统的有关概念、主要外设接口的 基本原理、接口的程序控制方法以及IO程序设计方法
第五章 输入/输出与中断系统 I/O设备是计算机系统必不可少的组成部分,I/O能力的强弱 是评价计算机系统性能优劣的重要指标。计算机系统通过硬 件接口和I/O控制程序对I/O设备进行控制,使之协调、有效地 完成I/O操作。 汇编语言可以最直接、有效地控制计算机的硬件和各种 I/O外设接口,所以是编写高性能I/O程序的最有效语言之一。 在硬件和接口控制、数据实时采集、实时控制和处理方面, 汇编语言仍然有独到之处的优势。 本章学习计算机中断系统的有关概念、主要外设接口的 基本原理、接口的程序控制方法以及I/O程序设计方法
5.1输入输出基础 包括:0IO接口信息数据传送方式 ②IO端口寻址e输入输出指令 51.1I/O接口信息 每种IO外部设备都通过一个硬件接口和CPU连接,计算 机系统通过接口寄存器与IO外部设备交换信息。接口中包含 了一组寄存器。 接口信息分为三类: 数据信息、状态信息、控制信息 不同性质的接口信息分别通过接口的数据寄存器、状 态寄存器和控制寄存器进行传送。 (1)数据寄存器 存放外设和主机间传送的数据信息 (2)状态寄存器 保存外设当前状态信息
5.1 输入/输出基础 包括: I/O接口信息 数据传送方式 I/O端口寻址 输入/输出指令 5.1.1 I/O接口信息 每种I/O外部设备都通过一个硬件接口和CPU连接,计算 机系统通过接口寄存器与I/O外部设备交换信息。接口中包含 了一组寄存器。 接口信息分为三类: 数据信息、状态信息、控制信息 不同性质的接口信息分别通过接口的数据寄存器、状 态寄存器和控制寄存器进行传送。 (1)数据寄存器 存放外设和主机间传送的数据信息。 (2)状态寄存器 保存外设当前状态信息
例如: READY、 EMPTY、BUSY、ACK等 利用状态信息实现主机与外设之间正确“握手”—在 数据传送中,二者能配合协调工作。 (3)控制寄存器 CPU通过控制寄存器给外设发送操作命令 51.2I/O寻址及端口地址分配 为便于访问,每个接口寄存器(端口)都分配了一个惟 的地址编码,称为Ⅰ/O端口地址,构成了一个独立于存储 器的IO地址空间。处理器用专门的IO指令通过不同的端口 与不同的IO设备交换信息 在80X86处理器系列的计算机中,可寻址64K个8位1O端口 或32K个16位端口。但实际上仅使用CPU的10位地址线AOA9 进行I/O端口寻址,因此实际最大可寻址1024个8位IO端口或 512个16位I0端口,端口地址范围为0-3FFH
例如:READY、EMPTY、BUSY、ACK等 利用状态信息实现主机与外设之间正确“握手”——在 数据传送中,二者能配合协调工作。 (3)控制寄存器 CPU通过控制寄存器给外设发送操作命令。 5.1.2 I/O寻址及端口地址分配 为便于访问,每个接口寄存器(端口)都分配了一个惟 一的地址编码,称为I/O端口地址,构成了一个独立于存储 器的I/O地址空间 。处理器用专门的I/O指令通过不同的端口 与不同的I/O设备交换信息。 在80X86处理器系列的计算机中,可寻址64K个8位I/O端口 或32K个16位端口。但实际上仅使用CPU的10位地址线A0-A9 进行I/O端口寻址,因此实际最大可寻址1024个8位I/O端口或 512个16位I/O端口,端口地址范围为0-3FFH
如果端口地址大于1024时,CPU将取该端口地址除以 1024的余数作为实际端口地址。 例:端口号1025/1024的余数=1 因此使用端口1025等效于使用端口1 各种外部设备都有固定的IO端口地址,见教材表5-1(p134)。 51.3数据传送方式 可分为三种基本的数据传送方式 (1)程序直接控制的IO方式 0条件传送方式(查询方式) 处理器传送数据前,需要先查询I/O设备的状态,当I/O设 备准备就绪时才进行数据传送,否则处理器将等待。用于高速 CPU与低速I/O设备(键盘、显示器等)之间同步协调工作 2无条件传送方式 计算机与外部设备可以完全同步操作,I/O设备状态总是 就绪的,CPU不用查询I/O设备的状态,可直接进行数据传送
如果端口地址大于1024时,CPU将取该端口地址除以 1024的余数作为实际端口地址。 例: 端口号 1025/1024的余数 = 1 因此使用端口 1025等效于使用端口1 各种外部设备都有固定的I/O端口地址 ,见教材表5-1 (p134)。 5.1.3 数据传送方式 可分为三种基本的数据传送方式: (1)程序直接控制的I/O方式 条件传送方式(查询方式) 计算机与外部设备可以完全同步操作 ,I/O设备状态总是 就绪的,CPU不用查询I/O设备的状态,可直接进行数据传送。 处理器传送数据前,需要先查询I/O设备的状态,当I/O设 备准备就绪时才进行数据传送,否则处理器将等待。用于高速 CPU与低速I/O设备(键盘、显示器等)之间同步协调工作。 无条件传送方式
(2)中断传送方式 根据外设的中断请求完成I/O操作,优点 0避免查询外设状态等待I/O设备就绪而耗费CPU时间, 提高CPU的利用率和计算机的运行效率。 e解决CPU无法预测I/O设备何时需要传送数据的问题。 (3)DMA( Direct Memory Access))传送方式 当大量数据传输时,为避免CPU干预,提高输入输出 效率,I/O设备直接与内存进行数据交换。用于计算机与 高速IO设备(如磁盘、磁带机等)之间交换数据 DMA方式的传送如图51所示,整个操作由硬件实现。 在一个O应用程序中,数据传送方式往往不是单一的, 可能需要同时组合使用几种数据传送方式。 52直接控制的I/O程序设计 使用IO指令在端口级直接由程序控制与外设进行数据传送
(2)中断传送方式 (3)DMA(Direct Memory Access)传送方式 根据外设的中断请求完成I/O操作,优点: 避免查询外设状态等待I/O设备就绪而耗费CPU时间, 提高CPU的利用率和计算机的运行效率。 解决CPU无法预测I/O设备何时需要传送数据的问题。 当大量数据传输时,为避免CPU干预,提高输入/输出 效率,I/O设备直接与内存进行数据交换。用于计算机与 高速I/O设备(如磁盘、磁带机等)之间交换数据。 DMA方式的传送如图5.1所示,整个操作由硬件实现。 在一个I/O应用程序中,数据传送方式往往不是单一的, 可能需要同时组合使用几种数据传送方式。 5.2 直接控制的I/O程序设计 使用I/O指令在端口级直接由程序控制与外设进行数据传送 。 next