中断与输入输出

输入/输出系统
1、主机与外设的连接
1.1、输入输出接口
I/O接口是主存和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换
主机和外设之间需要交换的信息:
数据信息:这些信息可以是通过输入设备送到计算机的输入数据,也可以是经过计算机运算处理和加工后,送到输出设备的结果数据
控制信息:这是CPU对外设的控制信息或管理命令,如外设的启动和停止指控,输入和输出操作的制定、工作方式的选择、中断功能的允许和禁止等
状态信息:这类信息用来标志外设的工作状态,比如,输入设备数据准备好标志,输出设备忙、闲标志等
联络信息:主机与外设间的时间配合信息
外设识别信息:I/O寻址信息,使CPU能从众多的外设中寻找出与自己进行信息交换的唯一的设备
2、接口的功能和基本组成
(1)接口的功能
实现主机和外部设备的通信联络控制
进行地址译码和设备选择:当CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息
实现数据缓冲:在接口电路中,一般设置一个或几个数据缓冲寄存器,用于数据的暂存,以避免因速度不一致而丢失数据。在传送过程中,先将数据送入数据缓冲寄存器中,然后再送到外部设备或主机中去
数据格式的变换:在输入或输出操作过程中,为了满足主机或外设的各自要求,接口电路中必须具有实现各类数据相互转换的功能,如:并-串转换、串-并转换、模-数转换、数-模转换以及二进制数和ASCII码的相互转换等
传递控制命令和状态信息:当CPU要启动某一外设时,通过接口中的命令寄存器向外设发出启动命令;当外设准备就绪时,则有“准备好”状态信息送回接口中的状态寄存器,为CPU提供反馈信息,告诉CPU,外设已经具备与主机交换数据的条件
(2)接口的基本组成
接口中要分别传送数据信息、控制信息、和状态信息,数据信息、控制信息和状态信息都通过数据总线来传送。大多数计算机都把外部设备的状态信息视为输入数据,而把控制信息看成是输出数据,并在接口中分设各自相应的寄存器,赋以不同的端口地址,各种信息分时地使用数据总线传送到各自的寄存器中
接口与端口是两个不同的概念,端口是指接口电路中可以被CPU直接访问的寄存器,若干个端口加上相应的控制逻辑电路才组成接口
通常,一个接口中包含有数据端口、命令端口和状态端口。存放数据信息的寄存器称为数据端口,存放控制命令的寄存器称为命令端口,存放状态信息的寄存器称为状态端口。CPU通过输入指令可以从有关端口中读取信息,通过输出指令可以把信息写入有关端口。CPU对不同端口的操作有所不同,有的端口只能读或只能写,有的端口可读可写。例如,对状态端口只能读,可将外设的标志送到CPU中去;对命令端口只能写,可将CPU的各种控制命令发送给外设
1.3、外设的识别与端口寻址
外设识别是通过地址总线和接口电路中的外设识别电路来实现的,I/O端口地址就是主机与外设直接通信的地址,CPU可以通过端口发送命令、读取状态和传送数据。
(1)端口地址的编址方式
I/O端口的编址方式有两种:
独立编址:主存地址空间和I/O端口地址空间是相对独立的,分别单独编址。CPU访问主存时,由主存读/写控制线控制,访问外设时,由I/O读/写控制线控制,在指令系统中,必须设置专门的I/O指令。当CPU使用I/O指令时,其指令的地址字段直接或间接的指出端口地址。这些端口地址被接口电路中的地址译码器接受并进行译码,符合者就是CPU所指定的外设寄存器,该寄存器将被CPU访问
统一编址:在这种编址方式中,I/O端口地址和主存单元的地址是统一编址的,把I/O接口中的端口作为主存单元一样进行访问,不设置专门的I/O指令。当CPU访问外设时,把分配给该外设的地址码送到地址总线上,然后各外设接口中的地址译码器对地址码进行译码,如果符合就是CPU指定的外设寄存器
(2)独立编址方式的端口访问
Intel 80X86的I/O地址空间由64K个独立编址的8位端口组成。两个连续的8位端口可作为16位端口处理;4个连续的8位端口可作为32位端口处理。因此,I/O地址空间最多可提供64K个8位端口、32K个16位端口、16K个32位端口
80X86的专用I/O指令IN和OUT有直接寻址和间接寻址两种类型。直接寻址I/O端口的寻址范围为00~FFH,最多为256个端口地址
间接寻址由DX寄存器间接给出I/O端口地址,DX寄存器长16位,寻址范围为0000~FFFFH,最多可寻址64K个端口地址。
CPU一次可实现字节(8位)、字

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值