计算机IO通信方式

程序控制方式

分为两种 : 一种为无条件的传递方式,另一种为程序查询方式或者称为轮询方式 。

无条件 方式

IO端口总是准备好接受主机的输出数据,适用于简单的数据传输系统

轮询

CPU每次读入一个字,CPU需要对外设进行循环检查,直到确定没有数据为止!

流程 :

(1)当用户进程需要输入数据时,通过CPU向控制器发出一条I/O指令,启动设备输入数据,同时把状态寄存器中的忙/闲状态busy置为“1”
(2)用户进程进入测试等待状态,在等待过程中,CPU不断地用一条测试指令检查外围设备状态寄存器中的busy位
(3)而外围设备只有在数据送入控制器的数据寄存器之后,才将该busy位置为“0”,于是处理器将数据寄存器中的数据取出,送入主存指定单元中,完成一个字符的输入/输出,接着进行下一个数据的输入/输出操作

程序中断方式

允许IO设备主动打断CPU的运行并请求服务

DMA 方式

每个DMA控制器与对应的一台设备与内存传递数据

通道方式

通道方式在一定的硬件基础上利用软件手段实现对IO数据的控制和传送 
,更多的免去了cpu的接入,使主机和外设的并行程度更高。
与 DMA的区别在于 ,DMA方式需要cpu来控制传输数据的大小,传输的内存位置,而在通道方式中这些信息由通道控制的。
与普通处理机的区别在于:通道指令唯一,没有自己的内存,通道的程序存储在内存当中。

IO处理机

四种方式的自我认识 :

首先 ,第一种 ,程序控制方式,分两种,一种为无条件的,IO端口总是准备好数据,适用于非常简易的系统,第二种轮询方式,cpu从端口读数据时,需要循环监测端口当中是否还有未读数据,如果没有就执行下一条指令。这种情况会出现什么?外部设备传输数据到端口的速度太慢,cpu轮询读状态位,浪费了大量的CPU资源。
第二种为中断方式,这种每读一个字就查询一次的效率太过于低,于是就引入了中断方式,当外部设备在寻道,传输数据时,将CPU先运行其他的程序或进程,提高了CPU的利用率。
以上都是根据cpu读入外部数据到寄存器当中,再寄存器中再将数据导入到内存当中,这其中的开销也是非常大的,所以,就有了DMA技术、通道技术和IO处理机技术,他们都实现了直接从外部设备数据直接到内存当中,DMA区别在于数据存放的位置和大小需要程序指定,而通道技术、IO处理机的话可以自主实现。但是通道技术没有自己的内存

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值