中断驱动方式和轮询polling方式(也叫做程序控制方式)

在现代计算机系统中,对I/O设备的控制,广泛采用中断驱动(Interrupt---Driven)方

    
    式。在I/O设备输入每个数据的过程中,由于无须CPU干预,因而可使CPU与I/O设备并行工作。

    
    仅当输完一个数据时,才需CPU花费极短的时间去做些中断处理。可见,这样可使CPU和I/O设


    备都处于忙碌状态,从而提高了整个系统的资源利用率及吞吐量。如下图所示:

    当某进程要启动某个I/O设备工作时,便由
CPU向相应的设备控制器发出一条I/O命令,然
立即返回继续执行原来的任务。设备控制器
便按照该命令的要求去控制I/O设备。
    此时,CPUI/O设备并行操作。

  例如,从终端输入一个字符的时间约为 100

ms , 而将字符送入终端缓冲区的时间小于 0.1

ms 。 若采用程序 I/O 方式, CPU 约有 99.9

ms 的 时间处于忙 — 等待中。 采用中断驱动

方式后, CPU 可利用这 99.9 ms 的时间去做其

它事情,而仅用 0.1 ms 的时间来处理由控制器

发来的中 断请求 。 可见,中断驱动方式可以

成百倍地提高 CPU 的利用率。

      中断驱动方式可以成百倍地提高CPU
       的利用率。

 

 

I/O方式
        早期的计算机系统中,由于无中断机构,处理机对I/O设备的控制,采取程序I/O
(Programmed I/O方式)。在程序I/O方式中,由于CPU的高速性和I/O设备的低速性,致使

    CPU 的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中,造成对CPU的极大浪费。

    在该方式中,CPU之所以要不断地测试I/O设备的状态,就是因为在CPU中无中断机构,使 I/O

    设备无法向CPU报告它已完成了一个字符的输入操作。如下图所示:

    程序I/O方式又称忙--等待方式,即在处理
机向设备控制器发出一条I/O指令启动输入设备
、输出数据时,要同时把状态寄存器中的忙/闲
标志busy置为1,然后便不断地循环测试busy。
busy=1时,表示输入机尚未输完一个字
(符),处理机应继续对busy进行测试;直至
      busy=0,表明输入机已将输入数据送入
控制器的数据寄存器中,于是处理机将数据寄存
器中的数据取出,送入内存指定单元中,接着,
再启动去读下一个数据,并置busy=1
      此方式造成对CPU的极大浪费。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值