通道控制方式,通道指令与通道程序

介绍

I/O通道是DMA的进一步发展,进一步减少CPU的干预,DMA是每次对一个数据块进行操作,通道是一次对一组数据块进行操作。
通道实质是简单的处理器。拥有命令寄存器,地址寄存器,有通道程序,指令单一,但是没有专有的内存

执行过程

CPU中
1.用户进程提出I/O请求,唤醒设备驱动进程(参考 其他文章,我后续会写专门文章介绍)
2.设备驱动进程根据请求参数组织和生成通道程序(是自动生成,不是人工写的)
3.通道程序起始地址送入通道地址寄存器CAW
4.启动通道,开始步骤6
5.设备驱动程序阻塞,CPU调度执行其他进程。
通道中
6.根据CAW值从内存提取一条通道指令送入通道命令寄存器CCW,CAW加一指向下一条通道指令。
7.执行CCW指向的指令执行。
8.若不是最后一条通道指令,返回6继续执行。若是的话发出中断请求。

通道程序与通道指令

通道程序是由一组通道指令构成
下面举出一个简单通道程序

操作码通道程序结束标志记录结束标志数据读写字节计数内存地址
WRITE00802680
WRITE001401034
WRITE11250720

该通道程序由三条通道指令构成,将数据写到磁盘上
操作码WRITE表示写操作
通道结束标志,0表示不是最后一条,1表示是最后一条通道指令
记录结束标志,前两个为0,后一个为1,表示三条指令操作的数据写到一个
记录上
内存地址,该条指令要操作的内存首址

要结合上面执行过程进行理解。
有问题留言提问

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅逼码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值