第七章 输入输出系统
一、端口的概念、分类
1、端口:是接口电路中,能与 CPU 交换信息(使用 IN,OUT)的寄存器。
2、端口的分类:
数据口:存放 CPU 向外设输出或外设输入的数据
控制口:存放控制信息——控制接口电路、外设的工作
状态口:存放状态信息——反映外设的状态
二、端口的编址方式
(1)统一编址:把端口和存储单元等同看待
特点:凡访问存储单元的指令都可访问 I/O 端口,端口地址占用存储空间。
(2)单独编址:I/O 端口和存储器分别使用两个地址空间
特点:I/O 端口不占用存储空间,CPU 要有专用的 I/O 指令。
注意:PC 系列机采用端口独立编址。
三、I/O 指令
IN:读操作 OUT:写操作
(1)直接寻址:口地址<8 位
IN AL,n ;口地址位 n 的端口中取数给 AL
OUT n,AL ;AL 内容给口地址位 n 的端口寄存器
IN AX,n ;(n)-->AL,(n+1)-->AH
OUT n,AX ;AL-->n 口,AH-->n+1 口
(2)间接寻址:口地址>8 位
IN AL,DX ;[DX]的端口地址内容-->AL
OUT DX,AL ;
IN AX,DX
OUT DX,AX
注意:
I/O 指令只能在端口和 AL,AX,EAX 之间交换信息;
间址时候不可用方括号形式。
四、微机系统与 I/O 端口的信息交换
(1)无条件传送方式
输入接口:要求外设的数据已经准备好
输出接口:要求输出设备已经空闲
(2)查询方式
输入:不断查询状态口信息,查询外设的数据是否准备好,若准备好,即可执行 IN 指
令,取出数据;
输出:不断查询状态口信息,查询外设设备是否空闲,若空闲,即可执行 out 指令,
写入数据;
(3)中断方式(CPU 参与信息交换)
步骤:
在外设没有作好数据传送准备时,cpu 可执行与传送数据无关的其它指令,当外设作好
传送准备后,主动向 cpu 请求中断,若 cpu 响应这一请求,则暂停正在运行的程序,转入中