输入输出程序设计

本文详细介绍了输入输出程序设计中的两种主要控制方式:直接存储器存取(DMA)和中断传送方式。DMA方式允许高速设备与存储器直接交换数据,而中断方式则是CPU与外部设备高效交互的机制,包括软件中断和硬件中断,其中中断向量表用于存储中断处理程序的地址。
摘要由CSDN通过智能技术生成
 
输入输出程序设计
1、I/O设备的数据传送方式
1.1、CPU与外设
每种输入输出设备都要通过一个硬件接口或控制器和CPU相连,这些接口和控制器都能支持输入输出指令IN,OUT与外部设备交换信息。这些信息包括控制、状态和数据三种不同性质的信息,它们必须按不同的端口地址分别传送
控制信息输出到I/O端口,通知接口和设备要做什么动作
状态信息从I/O接口输入到CPU,表示I/O设备当前所处的状态
数据信息是I/O设备和CPU真正要交换的信息。外设和接口之间的数据信息可以是串行的,也可以是并行的,相应地要使用串行接口或并行接口
1.2、直接存储器存取(DMA)方式
DMA方式主要是用于一些高速的I/O设备,如磁带、磁盘、模数转换器等设备。DMA方式能使I/O设备直接和存储器进行成批数据的快速传送。每个字节一到达端口就直接从接口送到存储器,同样,接口和它的DMA控制器也能直接从存储器取出字节并把它送到I/O设备中
DMA控制器一般包括四个寄存器:控制寄存器、状态寄存器、地址寄存器和字节寄存器,这些寄存器在信息传送之前应进行初始化,即系统程序在地址寄存器中设置要传送的数据块的首地址,在字节寄存器中设置要传送的数据长度,在状态控制寄存器中设置控制字,指出数据是输入还是输出,并启动DMA操作。每个字节传送后,地址寄存器增1,字节寄存器减1
系统完成DMA传送的主要步骤如下:
DMA控制器向CPU发出HOLD信号,请求使用总线
CPU发出响应信号HOLD给DMA控制器,并把总线让出,这时CPU放弃了对总线的控制,而DMA控制器获得了总线控制权
传输数据的存储器地址(在地址寄存器中)通过地址总线发出
传输的数据字节通过数据总线进行传送
地址寄存器增1,以致向下一个要传送的字节
字节计数器减1
如字节计数器非0,转向第3步
否则,DMA控制器撤销总线请求信号HOLD,结束传送
2、程序直接控制I/O方式
2.1、I/O端口
计算机的外部设备和大容量存储设备都是通过接口连接到系统上,每个接口由一组寄存器组成,这些寄存器都分配有一个称为I/O端口的地址编码。计算机的CPU和内存就是通过这些端口和外部设备进行通信的
I/O接口部件中一般有三种寄存器:一是用作数据缓冲的数据寄存器,而是用来保存设备和接口的状态信息,供CPU对外设进行测试的状态寄存器;三是用来保存CPU发出的命令以控制接口和设备的操作的命令寄存器。这些寄存器都分配有各自的端口号,CPU就是通过不同的端口号来选择各种外部设备的
在80x86微机中,I/O端口地址在一个独立的地址空间中,这个I/O空间允许设置64K个8位端口或32K个16位端口
2.2、I/O指令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值