精华内容
下载资源
问答
  • 中断概念的理解
    2018-11-26 17:28:45

    任何一个CPU,比如8086,都有一中能力,可以在执行当前的指令之后,检测到从CPU外部发过来的(外中断)或内部产生的(内中断)一种特殊的信息,并且可以立即对接收到的信息进行处理,这种特殊的信息可以称为中断信息,中断的意思是指 CPU不再接着刚刚执行完的指令向下执行,而是转去处理这个中断信息。

     

    更多相关内容
  • Signature Date 无人机应用技术专业教学资源库 无人机控制器应用技术 当CPU正在处理某件事情的时候内部或外部发生的某一事件(如一个电平的变化...中断概念 中断方式除了可以解决资源共享问题以外还有以下一些特点 1.
  • 中断概念

    千次阅读 2016-04-01 19:27:57
    一、中断概念 1、中断产生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理。 2、中断响应和中断服务:CPU暂停中断当前的工作,转去处理事件B。 3、中断返回:待CPU将事件B处理完毕后,再回到原来...

    一、中断的概念

      1、中断产生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理。   
      2、中断响应和中断服务:CPU暂停中断当前的工作,转去处理事件B。
      3、中断返回:待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A。
    

    二、中断系统结构
    这里写图片描述

    1. 引起CPU中断的根源,称为中断源(中断源有外部触发,定时器中断两种形式)。
    2. 中断源向CPU提出的中断请求。
    3. CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。

    实现上述中断功能的部件称为中断系统(中断机构)。

    三、中断优先级
    这里写图片描述
    中断标志:标志该中断是否产生,执行完中断服务函数后,要把该标志位清0。

    四、中断源
    这里写图片描述

    五、中断请求标志
    1、TCON的中断标志
    这里写图片描述
    IT0,外部中断0触发方式控制位(0:为电平触发方式;1:为下边沿触发方式)。IT1,外部中断1触发方式控制位。
    IE0,外部中断0中断请求标志位。IE1,外部中断1中断请求标志位。
    TF0,定时/计数器T0溢出中断请求标志位。TF1,定时/计数器T1溢出中断请求标志位。

    2、SCON的中断标志
    这里写图片描述
    RI,串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。同样,RI必须由软件清除。
    TI,串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。

    3、中断允许控制IE
    CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。
    这里写图片描述
    EX0,外部中断0允许位; ET0,定时/计数器T0中断允许位;
    EX1,外部中断0允许位; ET1,定时/计数器T1中断允许位;
    ES,串行口中断允许位; EA, CPU中断允许(总允许)位。

    六、中断优先级控制
    80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的。
    这里写图片描述
    PX0,外部中断0优先级设定位; PX1,外部中断0优先级设定位;
    PT0,定时/计数器T0优先级设定位; PT1,定时/计数器T1优先级设定位;
    PS ,串行口优先级设定位; PT2,定时/计数器T2优先级设定位。

    七、 80C51单片机的中断优先级有三条原则:

    1. CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
    2. 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
    3. 正在进行的低优先级中断服务,能被高优先级中断请求所中断。

    为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。

    八、中断响应过程
    描述一:

    1. 将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。
    2. 执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。
    3. 执行中断服务程序。

    中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。

    描述二:

    1. 在每条指令结束后, 系统都自动检测中断请求信号, 如果有中断请求,且CPU处于开中断状态下, 则响应中断。
    2. 保护现场, 在保护现场前, 一般要关中断, 以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。
    3. 中断服务, 即为相应的中断源服务。
    4. 恢复现场, 用堆栈指令将保护在堆栈中的数据弹出来, 在恢复现场前要关中断, 以防止现场被破坏。在恢复现场后应及时开中断。
    5. 返回, 此时 CPU将推入到堆栈的断点地址弹回到程序计数器, 从而使CPU继续执行刚才被中断的程序。

    九、判断状态变化执行不同方法
    法一:查询法

       while1{                                                                                                
                 if(窗口1开)                                                               
                     {报警;……}                                                                   
                 if(窗口2开)                                                                               
                     {报警;……}                                                             
             }    

    法二:中断法

     int flag = 0xXXXXXXXX;
      while(1)
      {
          if (flag != 0)
              {报警;……}
      }
    展开全文
  • 中断概念和外部中断PPT学习教案.pptx
  • 中断概念单片机的定时器应用 80C51 的中断系统有5个中断源 8052 有 6个 2个优先级可实现二级中断嵌套 1P3.2可由IT0(TCON.0)选择其为低电平有效还是下降沿有效当CPU 检测到P3.2 引脚上出现有效的中断信号时中断标志IE...
  • CPU软中断概念与案例

    千次阅读 2020-04-03 22:47:53
    CPU软中断概念&案例 1 案例一 1.1 环境部署 环境1:WEB服务器 docker run -itd --name=nginx -p 80:80 nginx 环境2:SYN攻击 curl http://xxx.xxx.xxx.xxx/ <!DOCTYPE html> <html> <head> &...

    CPU软中断概念&案例

    1 案例一

    1.1 环境部署

    环境1:WEB服务器

    docker run -itd --name=nginx -p 80:80 nginx
    

    环境2:SYN攻击

    curl http://xxx.xxx.xxx.xxx/
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    ...
    
    # -S 参数表示设置 TCP 协议的 SYN(同步序列号),-p 表示目的端口为 80
    # -i u100 表示每隔 100 微秒发送一个网络帧
    # 注:如果你在实践过程中现象不明显,可以尝试把 100 调小,比如调成 10 甚至 1
    $ hping3 -S -p 80 -i u1 xxx.xxx.xxx.xxx
    

    1.2 分析过程

    1、CPU使用率不高但是软中断已经到了10%,从非idle状态的全部用在了软中断上面。

    在这里插入图片描述

    2、确认是哪个软中断导致的问题

    watch -d cat /proc/softirqs
    

    TIMER(定时中断)、NET_RX(网络接收)、SCHED(内核调度)、RCU(RCU 锁)中,网络接收变化最快。

    在这里插入图片描述

    3、确认了网络问题,继续观察下网络收发包的情况

    # -n DEV 表示显示网络收发的报告,间隔 1 秒输出一组数据
    sar -n DEV 1
    

    报告时间 | 网卡 | rxpck/s txpck/s收发帧数 | exkB/s txkB/s收发千字节数

    在这里插入图片描述

    • 对网卡et0来说,收帧很大112924.00,但是数据量很小5955.00。
    • 计算一下5955.00*1024Byte/112924.00=54Byte平均每个包只有54字节即小包问题。

    4、抓包确认问题

    tcpdump -i eth0 -n tcp port 80
    
    21:59:25.549573 IP 源端.40615 > 目标端.http: Flags [S], seq 270293337, win 512, length 0
    21:59:25.549592 IP 源端.40616 > 目标端.http: Flags [S], seq 830767629, win 512, length 0
    

    Flags [S]表示syn包,PPS超过1.2W确认syn flood攻击。

    2 案例二

    sysbench测试发现系统大量net中断

    在这里插入图片描述

    分析网络流量

    sar -n DEV 1
    07:33:55 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    07:33:56 PM      eth0 124048.00 319294.00  10680.15 219670.82      0.00      0.00      1.00
    07:33:56 PM      eth1 117075.00 325641.00  14828.60 227463.34      0.00      0.00      0.00
    07:33:56 PM        lo     73.00     73.00     53.75     53.75      0.00      0.00      0.00
    
    • 同样收帧很大124048.00每秒,但是数据量还不算大
    • 10680.15*1024Byte/124048=88.16Byte字节

    进一步分析数据包

    sudo tcpdump -i eth0 tcp and port 3001 -n -nn -s0 -tttt -w mysql.cap
    
    tcpdump -r mysql.cap | more
    

    没有使用连接池大量短连接问题!

    2 概念

    2.1 软中断概念

    linux的中断会打断CPU当前的工作,中断一般都设计的短小精悍。但是也为了解决中断处理程序执行时间过长和中断丢失的问题,Linux的中断分为两个阶段:

    • 上半部用来快速处理中断,它在中断禁止模式下运行,主要处理硬件相关和时间敏感的工作
    • 下半部用来延迟处理上半部未完成的工作,通常以内核线程的方式运行

    网卡收数据包的例子:

    网卡收到数据包后会通过硬件中断的方式,通知内核有新的数据到了:对上半部来说,既然是快速处理,其实就是要把网卡的数据读到内存中,然后更新一下硬件寄存器的状态(表示数据已经读好了),最后再发送一个软中断信号,通知下半部做进一步的处理。而下半部被软中断信号唤醒后,需要从内存中找到网络数据,再按照网络协议栈,对数据进行逐层解析和处理,直到把它送给应用程序。

    • 上半部直接处理硬件请求,也就是我们常说的硬中断,特点是快速执行
    • 而下半部则是由内核触发,也就是我们常说的软中断,特点是延迟执行

    实际上,上半部会打断 CPU 正在执行的任务,然后立即执行中断处理程序。而下半部以内核线程的方式执行,并且每个CPU都对应一个软中断内核线程,名字为 “ksoftirqd/CPU 编号”,比如说, 0 号 CPU 对应的软中断内核线程的名字就是 ksoftirqd/0。不过要注意的是,软中断不只包括了刚刚所讲的硬件设备中断处理程序的下半部,一些内核自定义的事件也属于软中断,比如内核调度和RCU 锁(Read-Copy Update 的缩写,RCU是 Linux 内核中最常用的锁之一)等。

    2.2 查看软中断和内核线程

    • /proc/softirqs 提供了软中断的运行情况;
    • /proc/interrupts 提供了硬中断的运行情况。

    运行下面的命令,查看 /proc/softirqs 文件的内容,你就可以看到各种类型软中断在不同 CPU 上的累积运行次数

    在查看 /proc/softirqs 文件内容时,你要特别注意以下这两点。

    • 第一,要注意软中断的类型,也就是这个界面中第一列的内容。从第一列你可以看到,软中断包括了 10 个类别,分别对应不同的工作类型。比如 NET_RX 表示网络接收中断,而 NET_TX 表示网络发送中断。

    • 第二,要注意同一种软中断在不同 CPU 上的分布情况,也就是同一行的内容。正常情况下,同一种中断在不同 CPU 上的累积次数应该差不多。比如这个界面中,NET_RX 在 CPU0 和 CPU1 上的中断次数基本是同一个数量级,相差不大。

    不过你可能发现,TASKLET 在不同 CPU 上的分布并不均匀。TASKLET 是最常用的软中断实现机制,每个 TASKLET 只运行一次就会结束 ,并且只在调用它的函数所在的 CPU 上运行。

    因此,使用 TASKLET 特别简便,当然也会存在一些问题,比如说由于只在一个 CPU 上运行导致的调度不均衡,再比如因为不能在多个 CPU 上并行运行带来了性能限制。

    另外,刚刚提到过,软中断实际上是以内核线程的方式运行的,每个 CPU 都对应一个软中断内核线程,这个软中断内核线程就叫做 ksoftirqd/CPU 编号。那要怎么查看这些线程的运行状况呢?

    其实用 ps 命令就可以做到,比如执行下面的指令:

    $ ps aux | grep softirq
    root         7  0.0  0.0      0     0 ?        S    Oct10   0:01 [ksoftirqd/0]
    root        16  0.0  0.0      0     0 ?        S    Oct10   0:01 [ksoftirqd/1]
    

    这些线程的名字外面都有中括号,这说明 ps 无法获取它们的命令行参数(cmline)。一般来说,ps 的输出中,名字括在中括号里的,一般都是内核线程。

    展开全文
  • 单片机定时器中断(之中断概念

    千次阅读 2019-04-20 12:57:48
    中断概念 刚在写博客的时候口渴,我起身起身去喝水,喝水过程中不小心打翻了杯子弄湿了地面,又不得不去拖地,其实这就是生活中常见的中断,我本来在写博客,这是我的主程序,口渴便是一个中断源,它提示我应该喝水...

    单片机的中断

    由于本人水平有限,文章中难免出现错别字以及错误,欢迎大家私信批评指正
    这个专栏,将直接从52系列单片机的中断开始连载;对于中断以前的基础内容都很简单,一般看原理图就能解决,主要由于我最近看中断一遍还是觉得有些逻辑混乱,所以直接从中断开始。

    中断概念

    刚在写博客的时候口渴,我起身起身去喝水,喝水过程中不小心打翻了杯子弄湿了地面,又不得不去拖地,其实这就是生活中常见的中断,我本来在写博客,这是我的主程序,口渴便是一个中断源,它提示我应该喝水,当我停下写博客在喝水的时候打翻了杯子 ,其实这又是一个中断源向我的大脑CPU申请中断去拖地,这实际上是一个中断的二级嵌套。对于中断的逻辑关系就是这么简单,实际上中断函数也不难,比较难的理解各个中断源的工作原理。
    中断是为使单片机具有对外部或内部随即发生的事件实时处理而设置的,中断功能的存在很大程度上提高了单片机处理外部或内部事件的能力;对于单片机来讲中断指的是:CPU在处理事件A时,发生了另一件事件B,请求CPU去处理(中断发生);CPU暂停了当前工作(中断响应)转去处理事件B(中断服务);待CPU处理完事件B后,再回到中断发生的地方继续处理事件A(中断返回)。
    图片源自GTX老师的书

    其中引起CPU中断的根源是中断源
    涉及中断还有一个重要的概念:中断优先级,即同一时刻发生了两个中断,单片机先执行哪个终端你取决于单片机内部的一个特殊功能寄存器——中断优先级寄存器的设置情况,其决定了执行中断的顺序。中断的开启与关闭、设置启用哪一个中断都是由单片机内部的特殊功能寄存器决定的
    上面讲到的中断优先级寄存器,通过设置它我们可以选择当两个中断同时出现先执行哪一个中断程序,若没有人为操作优先级寄存器,单片机会按照默认优先级自动处理。其中T2为52系列单片机特有的
    其中T2为52系列单片机特有的

    中断允许寄存器IE

    简单来说IE是个开关,用来设定中断源的打开和关闭,只有允许打开的时候才有可能引起中断。可进行位寻址,即对每一位进行单独操作
    在这里插入图片描述

    中断优先级寄存器IP

    IP用来设定个中断源属于两级中断中的哪一级。同理可进行位寻址
    (懒得码字,图片说话)
    在这里插入图片描述

    本篇主要讲了中断的逻辑概念以及IE和IP寄存器的信息,并没有涉及任何操作,下一篇我们将开始讲单片机定时器的中断

    展开全文
  • 无人机控制器应用技术 当CPU正在处理某件事情的时候内部或外部发生的某一事件(如一个电平...中断概念 中断方式除了可以解决资源共享问题以外还有以下一些特点 1. 高效率地实现CPU和外设的速度匹配 2. 实现实时控制 3
  • 中断允许控制 IE 其中EX0EX1外部中断允许控制位 1开中断 0关中断 EA中断允许总控制位 1开中断 0关中断 其他位我们现在可以先不用理会在设置时既可以按位设置也可以对IE整体设置 中断的控制 例1 假设允许片外中断...
  • 51单片机中断概念回顾;一. 中断概念解释;二. 51单片机中断产生和执行的过程;1定时器计数器中断;晶振 12 机器周期 = 12 * 1 / 12 ) = 1;2. 外部中断;三. 内存中程序的分布和指令的执行过程. 程序执行的顺序
  • 6单片机中断概念.ppt

    2020-02-15 19:55:44
    425 中断计数流水灯硬件电路设计 图410 中断计数流水灯电路 下一页 上一页 单片微型计算机原理与接口技术 51单片机中断系统 浙江大学电气学院 彭勇刚 单片微机中断系统 中断系统概念 中断响应过程 中断检测 中断向量...
  • 中断概念

    2019-06-02 18:30:36
    中断分为内部中断和外部中断,内部中断源于CPU内部比如软件中断,栈溢出,段错误等等。 外部异常通常是外设的请求。 一句中断是否可以被屏蔽分为可屏蔽中断和不可屏蔽中断(NMI) 中断下半部分为tasklet,,工作队列,...
  • 写《stm32基础项目——智能小车(红外避障)》时发现,对零基础的学弟学妹来说直接上手有些困难,因此还是讲讲有关中断概念。 一、何为“中断”? 大白话就是:“cpu运行时被其他事件打断,然后放下手中的事转而去...
  • 51单片机中断基本概念

    千次阅读 多人点赞 2020-07-31 10:11:47
    中断概念 为什么引入中断? 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的,中断功能的存在,很大程度上提高了单片机处理外部或内部事件的能力。 中断系统特点: ①分时操作。CPU 可以分时为...
  • 中断的基本概念

    千次阅读 2019-12-01 15:08:06
    概念: 程序执行过程中CPU会遇到一些特殊情况,是正在执行的程序被“中断”,cpu中止原来正在执行的程序,转到处理异常情况或特殊事件的程序去执行,结束后再返回到原被中止的程序处(断点)继续执行 程序执行被...
  • 01 | 中断和异常 02 | 知识总览 2.1 | 中断的作用 2.2 | 中断的类型 2.2.1 | 内部中断 2.2.3 | 外部中断 2.3 | 中断的分类 2.4 | 中断机制的基本原理 03 | 知识回顾和重要考点 01 | 中断和异常 02 | 知识...
  • 中断以及相关的概念

    2020-04-23 22:47:09
    一、中断概念 中断是指程序执行过程中,遇到急需处理的事件时,暂时中止CPU上现行程序的运行转而执行相应的事件处理程序,待处理完成后再返回原程序被中断处或调度其他程序执行的过程 二、中断的分类 1、外...
  • 单片机中断基本概念

    千次阅读 2020-04-15 10:03:27
    中断的功能? 中断用于处理异步事件。 外界向单片机发送数据的时间和数量是未知的,单片机有两种方式处理: 1.查询方式。(又称查询等待方式)单片机查询其所有外设看看有没有需要处理的事件。 2.中断方式。外设需要...
  • 单片机中断的基本概念

    千次阅读 2019-10-09 05:31:51
      中断优先级的概念是针对有多个中断源同时申请中断时,MCU如何响应中断,以及响应哪个中断而提出来的。 中断优先级的确定:    ▋ 某中断对应的中断向量地址越小,其中断优先级越高(硬件确定方式...
  • 中断概念和作用

    2021-08-02 15:02:17
    中断发生时,CPU立即进入核心态 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理 对于不同的中断信号,会进行不同的处理 发生了中断,就意味着需要操作系统介入,开展管理工作。由于操作...
  • STM32中断概念

    千次阅读 2020-08-07 09:09:07
    中断,个人理解即为一个突发的任务打断了正在进行的任务。 中断分为两类:1.系统中断,体现在内核。 2.外部中断,体现在外设。 NVIC(向量中断控制器),是一个内核外设,通过NVIC管理内核以及片上外设的中断。 ...
  • 给你讲讲在硬件方面是如何实现中断的,中断就是我们计算机里非常重要的处理。
  • 基本概念 一、日常生活中的中断 *图片来源网络 二、处理器中的中断 在处理器中,中断是一个过程,CPU在正常运行的过程中,遇到内部/外部的紧急事情需要处理,那么这个时候先终止当前程序的执行,转而去处理内部/...
  • 本文主要讲了单片机中断源的概念,希望对你的学习有所帮助。
  • 中断挂起的概念: 1. 因为某种原因,中断不能马上执行,所以“挂起”等待。 2. 等程序可以中断,在执行“响应挂起的中断” 比如有高、低级别的中断同时发生,就挂起低级别中断,等高级别中断程序执行完,在执行低...
  • 51单片机之——中断概念

    万次阅读 多人点赞 2016-08-09 21:24:06
    而这篇博文就走进单片机内设——中断系统。 首先,搞清楚什么是中断? 引用资料书的话:对于单片机而言,中断是指CPU在处理某一件事A时,发生了另一件事B,请求CPU迅速去处理(这个过程是“中断发生”);此时,...
  • 中断概念及意义

    千次阅读 2017-05-16 10:51:48
    1 中断概念 中断是一种处理器与外设进行通信的机制 用于“通知”处理器外部有“重要事件发生” 一般情况下,中断需要被处理器响应 2 中断的意义 应用程序不必关心中断的发生与处理 中断服务程序不必关心应用程序的...
  •  b 当前进程是内核态,使用栈进入到中断栈,并且在中断栈保存内核态各寄存器的值,执行中断代码,执行完中断代码后,从中断栈恢复内核态寄存器值.  c 中断代码执行时,处在中断上下文.不属于任何一个进程上下文. ...
  • 51——中断、定时器 / 计数器中断系统中断概念中断作用中断源及相关寄存器中断源及优先级中断允许寄存器 IE中断优先级控制寄存器低 IP定时器/计数器概念定时器/计数器控制寄存器 TCON 中断系统 中断概念 CPU在处理某...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 214,213
精华内容 85,685
关键字:

中断的概念