精华内容
下载资源
问答
  • 中断和轮询

    千次阅读 2020-10-17 10:18:04
    对I/O设备的程序轮询的方式,是定时对各种设备轮流询问一遍有无处理要求。 轮流询问之后,有要求的就加以处理。在处理I/O设备的要求之后,处理机返回继续工作。 尽管轮询需要时间,但...中断容易遗漏一些问题,CPU利

    对I/O设备的程序轮询的方式,是定时对各种设备轮流询问一遍有无处理要求。

    轮流询问之后,有要求的就加以处理。在处理I/O设备的要求之后,处理机返回继续工作。

    尽管轮询需要时间,但轮询要比I/O设备的速度要快得多,所以一般不会发生不能及时处理的问题。当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的。

    而且,程序轮询毕竟占据了CPU相当一部分处理时间,因此程序轮询是一种效率较低的方式,现代计算机系统中已很少应用。
      轮询效率低,等待时间很长,CPU利用率不高;中断容易遗漏一些问题,CPU利用率高

    展开全文
  • CPU中断和轮询

    2017-01-05 22:47:00
    中断和轮询不同,是硬件上的,就像一个开关被按下了,没有什么东西在不停的询问开关有没有被按下,开关只是被按下了,就通电了,通电了就会发生一些事情。 可以看看 http://ruby-china.org/topics/4920 之中的讨论 ...

    轮询顾名思义,CPU不停的询问,CPU很忙。

    中断和轮询不同,是硬件上的,就像一个开关被按下了,没有什么东西在不停的询问开关有没有被按下,开关只是被按下了,就通电了,通电了就会发生一些事情。

    可以看看 http://ruby-china.org/topics/4920 之中的讨论

    转载于:https://www.cnblogs.com/flying607/p/6254321.html

    展开全文
  • 中断和轮询的差别

    2020-05-22 18:02:18
    二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程序转入中断服务程序,必须知道该中断服务程序...

    中断的基本概念

    程序中断通常简称中断,是指CPU在正常运行程序的过程中,由于预选安排或发生了各种随机的内部或外部事件,使CPU中断正在运行的程序,而转到为相应的服务程序去处理,这个过程称为程序中断。

    二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程序转入中断服务程序,必须知道该中断服务程序的入口地址,即中断向量。80x86为CPU的PC机共有256个中断向量。

    中断的一般过程:

    主程序只是在设备A,B,C数据准备就绪时,才去处理A,B ,C,进行数据交换。在速度较慢的外围设备准备自己的数据时,CPU照常执行自己的主程序 。在这个意义上说,CPU和外围设备的一些操作是并行地进行的,因而同串行进行的程序查询方式相比,计算机系统的效率是大大提高了。如下图:在这里插入图片描述
    实际的中断过程还要复杂一些,下图示出了中断处理过程的详细流程图.当CPU执行完—条现行指令时,如果外设向CPU发出中断请求、那么CPU在满足响应条件的情况下,将发出中断响应信号,与此同时关闭中断(“中断屏蔽”触发器置“1”),表示CPU不再受理另外—个设备的中断。这时、CPU将寻找中断请求源是哪个设备。并保存CPU自己的程序计数器(Pc)的内容.然后,它将转移到处理该中断源的中断服务程序.CPU在保存现场信息,设备(如文换数据)以后.将恢复现场信息.在这些动作完成以后,开放中断(“中断屏蔽”触发器置‘o”),并返网到原来被中断的主程序的下一条指令。
    (1) 尽管外界中断请求是随机的,但CPU只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求,这样才不致于使当前指令的执行受到干扰。公操作是指一条指令执行结束后CPU所进行的操作,如中断处理、直接内存传送、取下条指令等 。外界中断请求信号通常存放在接口中的中断源锁存器里,并通过中断请求线连至CPU,每当一条指令执行到末尾,CPU便检查中断请求信号。若中断请求信号为“1”,则CPU转入“ 中断周期”,受理外界中断。
    (2) 为了在中断服务程序执行完毕以后正确地返回到原来主程序被中断的断点(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。
    (3) 当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。只有在中断屏蔽标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把中断屏蔽标志置“1”,即关闭中断。这样,CPU不能再受理另外的新的中断源发来的中断请求。只有在CPU把中断服务程序执行完毕以后,它才重新使中断屏蔽标志置“0”,即开放中断,并返回主程序。因此,中断服务程序的最后必须有两条指令,即开中断指令和返主指令,同时在硬件上要保证返主指令执行以后才受理新的中断请求。
    (4) 中断处理过程是由硬件和软件结合来完成的。如在前图中,中断周期由硬件实现,而中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,对要求中断的设备进行服务,使其同CPU交换一个字的数据,或作其他服务。

    轮询方式的基本概念

    轮询(Polling)I/O方式或程序控制I/O方式,是让CPU以一定的周期按次序查询每一个外设,看它是否有数据输入或输出的要求,若有,则进行相应的输入/输出服务;若无,或I/O处理完毕柏,CPU就接着查询下一个外设。

    所需硬件:外设接口提供状态端口、数据端口

    软件机制:应用程序必须定时查询各个接口的状态端口,判断是否需要输入、输出数据,如果需要,则通过数据端口进行数据操作。

    特点:CPU通过执行指令主动对外部设备进行查询,外部设备处于被动地位。
    在这里插入图片描述

    轮询方式与中断方式的比较

    速度
    程序控制方式:

    由硬件的速度指标决定,由于“程序控制方式”完全采用软件的方式对外设接口进行控制,所以它的硬件操作只是普通的端口读写,并无特别之处,其速度指标由总线传输速度、端口的响应速度共同决定。

    对于这种外设控制方式,速度指标关键在于软件。

    中断处理方式:

    中断处理方式本身所作的原子操作解释和程序控制方式是一致的。

    只不过因为加入了中断请求和响应机制,对状态端口的读取变成了在中断响应过程中对中断号的读取,对状态端口的判断变成了对中断入口地址的确定。

    从本质上来说,中断处理方式和程序控制方式本身的速度指标一致,没有大的差别。

    可靠性
    程序控制方式:

    由于硬件不支持中断方式,因此操作系统把CPU控制权交给应用程序后,只要应用程序不交还CPU控制权,操作系统就始终不能恢复对CPU的控制(无定时中断)。应用程序与操作系统都是软件模块,操作系统属于核心模块,它们之间存在交接CPU控制权的关系。正是由于这样的关系,一旦使用对外设的“程序控制方式”时,应用程序出现死锁,则操作系统永远无法恢复对系统的控制。应用程序的故障通过外设控制方式波及到作为核心模块的操作系统,因此,根据关联可靠性指标的计算可知,“程序控制方式”的关联可靠性指标很低。

    中断处理方式:

    由于提供定时中断,操作系统可以在应用程序当前时间片结束后通过中断服务程序重新获得对CPU的控制权。应用程序的故障不会波及到操作系统,因此,中断处理方式的关联可靠性指标高。

    可扩展性
    程序控制方式:

    由于所有应用程序中都包含对端口的操作,一旦硬件接口的设计发生变化,则所有应用程序都必须进行修改,这会使修改费用升高很多倍。因此,程序控制方式会使相关硬件模块的局部修改指标相对较低。

    中断处理方式:

    应用程序不直接操作端口,对端口的操作是由中断服务程序来完成的。如果某个硬件接口的设计发生了变化,只需要修改它相关的中断服务程序即可。因此,中断处理方式使得相关硬件模块的局部修改指标较高。

    生命期
    “程序控制方式”(CPU查询方式)在早期的计算机系统中能够满足应用需求;但是随着外部设备种类的增多、速度差异的加大,这种方式逐渐成为系统性能提高的障碍。它的生命期只限于早期计算机阶段,因为当时外部设备少,且都是低速设备,到8位机出现以后,这种外设控制方式(体系结构)被淘汰。

    “中断处理方式”(外设请求方式)能够协调CPU与外设间的速度差异,能够协调各种外设间的速度差异,提高系统的工作效率(速度指标)。使应用程序与外设操作基本脱离开来,降低了程序的设备相关性(关联可靠性指标、局部修改指标)。虽然目前某些快速设备相互间的通信没有通过CPU,也没有使用中断处理方式,但是对于慢速设备、设备故障的处理来说,中断处理方式仍然是最有效的。无论将来计算机系统中的元件怎样变化,只要存在慢速设备与快速CPU之间的矛盾,使用中断处理方式都是适合的。即便不使用中断服务程序,中断的概念也会保持很久。在短时期内,计算机系统还无法在所有领域离开人工交互操作,人的操作速度一定比机器的处理速度慢,因此慢速设备将仍然保持存在(但这不是慢速设备存在的唯一原因)。正因为存在这样的需求,中断处理方式具有较长的生命期。

    (转载自:http://www.cnblogs.com/jhxk/articles/1893314.html)
    其他深度好文:https://blog.csdn.net/sum_TW/article/details/71419991?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

    展开全文
  • CPU要和外设进行通信,可以采用轮询和中断两种方式。因为轮询方式需要CPU轮询外设,查询外设是否发生中断,效率不高显而易见。于是增加了如下图的中断系统来减轻...如上所述,中断和轮询,好像又没啥区别,CPU仍旧...

    CPU要和外设进行通信,可以采用轮询和中断两种方式。因为轮询方式需要CPU轮询外设,查询外设是否发生中断,效率不高显而易见。于是增加了如下图的中断系统来减轻CPU负担,但是这样做效率就高了吗?本质上,采用中断系统后,CPU仍然需要每隔一小段时间去查询中断控制寄存器TCON的各位状态,以判断是否有外设中断发生,否则CPU仍旧无法知道外设的当前状态。

    如上所述,中断和轮询,好像又没啥区别,CPU仍旧摆脱不了查询的命运。但是你知道让CPU直接和各个外设逐一沟通,和让CPU只与中断控制系统机构沟通,效率是完全不一样的。为了证明我的推断,我们假设,CPU外接20个不同的设备,这20个外设中在某一刻有两个外设同时中断,正好这个时候CPU来查看外设的状态,如果是轮询方式,CPU需要一一遍历20种不同的外设控制器,才能判断哪些外设刚才申请过中断,哪些外设没有申请中断。如果采用中断方式处理呢?CPU只需查询一下中断标志位,处理最高优先级的那个中断,其他的事情全交给中断系统去处理,效率提高了20倍!

    从中,我们也可以发现一个现象,不论硬件设计如何巧妙,软件产品如何复杂,在设计原则上仍然是在不断的做加法。

     

    图1.  89C51单片机中断系统的硬件框图

    备注: 从上图中,我们看到89C51只有五个中断源,外接的设备比较少。现代CPU对中断系统进行了扩展,中断系统的中断寄存器也更加丰富了。

    转载于:https://www.cnblogs.com/tomsonggecko/p/interruptsystem.html

    展开全文
  • 中断和轮询的特点

    2019-10-23 11:04:13
    对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管...
  • 中断和轮询的方式

    千次阅读 2016-12-25 13:04:57
    中断方式与轮询方式 ...二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程
  • 中断和轮询方式比较

    万次阅读 2016-08-26 09:30:00
    中断的基本概念 ...二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程序转入中断服务程序
  • 因为cpu和外设的不平等性导致外设的事件被cpu 当作是外部事件,其实它们是平等的,只不过冯氏机器不这么认为罢了,既然要处理外部事件,那么就需要一定的方法,方法不止一种,大致有中断和轮询以及一种 混杂又复杂的...
  • 操作系统 --- 中断和轮询

    千次阅读 2017-08-08 15:19:40
    外部设备与中央处理器交互一般有两种手段:轮询和中断。  (1)轮询(Polling)  很多I/O设备都有一个状态寄存器,用于描述设备当前的工作状态,每当设备状态发生改变时,设备将修改相应状态寄存器位。通过不断...
  • 中断和轮询 VS select和epoll

    千次阅读 2015-09-02 19:05:43
     selectepoll 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 通过read,我们可以从流中读入数据;...
  • 二、80x86微处理器的中断80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。CPU要从主程序转入中断服务程序,必须知道该中断服务程序的...
  • 轮询写法: #include #define LED P0 #define DATEGET P2_5 //对应74LS165数据载入位 SH/LD void DelayMS( unsigned int Time) //延时函数 { unsigned char Temp; while (Time--) { for...
  • 中断轮询

    2017-07-07 10:42:41
    转自[ 中断轮询 ]... 外部设备与中央处理器交互一般有两种手段:轮询和中断。 (1)轮询(Polling) 很多I/O设备都有一个状态寄存器,用于描述设备当前的工作状态,每当设备状态发生...
  • 轮询 中断 的比较

    2019-06-01 00:44:38
    我们首先区别一下中断和轮询 中断和轮询是 嵌入式 的两个基本的编程的思想和 概念 轮询: while(1){ if(按键按下){ 执行程序; } } /* 周期连续 的检测外部事件的发生 消耗大量cpu...
  • STM32中断轮询笔记

    2019-06-19 17:35:06
    轮询过程需要其他功能代码结合 由于CPU需要处理其他事件(可能是无关紧要的),可能丢失关键事件 中断: 由硬件来判断是否发生外部事件并通知CPU 专用的中断服务程序来处理事件 中断: 适于处理对响应要求...
  • 轮询模式可以是忙等待轮询和择机轮询。 忙等待持续轮询状态,直到完成,这期间主循环不能处理其它事务。 择机轮询检测到未完成时将退出,转而处理其它事务,当有空闲时再次轮询,需要借助状态机实现保存恢复上...
  • 二、80x86微处理器的中断 80x86微处理器的中断类型一般分为2类,即由于执行某些指令引起的软中断和由处理器以外其他控制电路发出中断请求信号引起的硬中断。 CPU要从主程序转入中断服务程序,必须知道该中断服务程序...
  • 中断是什么 意思就是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 中断是一种计算机术语。通俗点说就是停下...
  • 在单片机编程过程中,经常会...让我们看看中断和轮询之间的区别: 1、在中断时,设备会通知CPU它需要引起注意。而在轮询中,CPU会稳定地检查设备是否需要注意。 2、中断不是协议,而是一种硬件机制。轮询不是硬件机制
  • 『常识』中断轮询

    2013-10-29 18:05:45
    但是随着各站点访问量信息交流量的迅猛增长,如何使用最小的资源成本,提高网络的效率,最优化用户体验,已经成为网络管理人员不得不面对的挑战。 从技术上讲,就是ICP行业面临的网络资源有效利用问题,也就是...
  • STM32L031 HAL 串口收发例程(中断配合轮询) 代码环境 开发工具:STM32CUBEIDE 芯片:STM32L031K6T6 端口: UART2 基本配置 其中,PA9 (RX)的输入上拉,在System Core的GPIO里配置。 TX(发送)设计 TX部分...
  • 中断还是定时轮询

    2021-02-03 07:08:48
    中断实际上是温室里的花朵,看起来美,但真正处于复杂极端的环境时,硬件可靠性非常值得怀疑。因此,只要计算力够,就建议采用轮询的方式。 举个例子,曾经做过局端DSL驱动,因为电话线问题,DSL芯片不间断发出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,038
精华内容 415
关键字:

中断和轮询