文档介绍:汇编语言程序设计
——第五章
next
第五章输入/输出与中断系统
输入/输出基础
直接控制的I/O程序设计
键盘、显示器、打印机及磁盘文件I/O
中断程序设计
1
2
3
4
本章要点
第五章输入/输出与中断系统
I/O设备是计算机系统必不可少的组成部分,I/O能力的强弱是评价计算机系统性能优劣的重要指标。计算机系统通过硬件接口和I/O控制程序对I/O设备进行控制,使之协调、有效地完成I/O操作。
汇编语言可以最直接、有效地控制计算机的硬件和各种I/O外设接口,所以是编写高性能I/O程序的最有效语言之一。在硬件和接口控制、数据实时采集、实时控制和处理方面,汇编语言仍然有独到之处的优势。
I/O接口信息
包括
输入/输出指令
数据传送方式
I/O端口寻址
第五章输入/输出与中断系统
输入/输出基础
I/O接口信息
每种I/O外部设备都通过一个硬件接口和CPU连接,接口中包含了一组寄存器,计算机系统通过接口寄存器与I/O外部设备交换信息。
第五章输入/输出与中断系统
1
数据信息
2
状态信息
3
控制信息
接口信息分为三类:
第五章输入/输出与中断系统
不同性质的接口信息分别通过接口的数据寄存器、状态寄存器和控制寄存器进行传送。
(1)数据寄存器
存放外设和主机间传送的数据信息。
(2)状态寄存器
保存外设当前状态信息。
例如:READY、EMPTY、BUSY、ACK等
利用状态信息实现主机与外设之间正确“握手”——在数据传送中,二者能配合协调工作。
(3)控制寄存器
CPU通过控制寄存器给外设发送操作命令。
第五章输入/输出与中断系统
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。
各种外部设备都有固定的I/O端口地址,见教材表5-1 (p134)。
第五章输入/输出与中断系统
如果端口地址大于1024时,CPU将取该端口地址除以1024的余数作为实际端口地址。
例: 端口号 1025/1024的余数= 1
因此使用端口 1025等效于使用端口1
第五章输入/输出与中断系统
1
2
3
数据传送方式
可分为三种基本的数据传送方式:
程序直接控制的I/O方式 G
中断传送方式 G
DMA(Direct Memory Access)
传送方式 G
next
第五章输入/输出与中断系统
条件传送方式(查询方式)
处理器传送数据前,需要先查询I/O设备的状态,当I/O设备准备就绪时才进行数据传送,否则处理器将等待。用于高速CPU与低速I/O设备(键盘、显示器等)之间同步协调工作。
无条件传送方式
计算机与外部设备可以完全同步操作,I/O设备状态总是就绪的,CPU不用查询I/O设备的状态,可直接进行数据传送。
返回