精华内容
下载资源
问答
  • 中断概念
    千次阅读
    2018-11-26 17:28:45

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

     

    更多相关内容
  • 中断概念.ppt中断概念.ppt
  • Signature Date 无人机应用技术专业教学资源库 无人机控制器应用技术 当CPU正在处理某件事情的时候内部或外部发生的某一事件(如一个电平的变化...中断概念 中断方式除了可以解决资源共享问题以外还有以下一些特点 1.
  • 中断概念和外部中断PPT学习教案.pptx
  • 中断概念单片机的定时器应用 80C51 的中断系统有5个中断源 8052 有 6个 2个优先级可实现二级中断嵌套 1P3.2可由IT0(TCON.0)选择其为低电平有效还是下降沿有效当CPU 检测到P3.2 引脚上出现有效的中断信号时中断标志IE...
  • 无人机控制器应用技术 当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单片机中断系统 浙江大学电气学院 彭勇刚 单片微机中断系统 中断系统概念 中断响应过程 中断检测 中断向量...
  • 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 的输出中,名字括在中括号里的,一般都是内核线程。

    展开全文
  • 写《stm32基础项目——智能小车(红外避障)》时发现,对零基础的学弟学妹来说直接上手有些困难,因此还是讲讲有关中断概念。 一、何为“中断”? 大白话就是:“cpu运行时被其他事件打断,然后放下手中的事转而去...

    (零基础请看本篇,有基础的直接跳)
    下一篇内容会涉及外部中断的配置代码、中断处理函数的编写,
    下下篇会围绕中断控制器展开,涉及“中断向量表”和“中断嵌套”的内容。
    前言
    写《stm32基础项目——智能小车(红外避障)》时发现,对零基础的学弟学妹来说直接上手有些困难,因此还是讲讲有关中断的概念。
    一、何为“中断”?
    大白话就是:“cpu运行时被其他事件打断,然后放下手中的事转而去执行其他的事”,与中断相对应的还有个概念叫“查询”。关于这两个概念,我举个例子你就明白了。
    例:消防官兵执勤
    平时消防官兵都在训练,有火情发生时,热心群众会打119通报火情,消防员接到电话后立即出勤灭火。
    热心群众打电话通告火情就是“中断”,那“查询”是什么情况呢?
    “查询”就是消防官兵整天都在城里巡逻,上午在长安区,中午在雁塔区、下午又到了碑林区,比如这时候莲湖区发生火灾了,但没有群众打电话,那只能等消防员自己巡逻到莲湖区才知道着火了,进而才会灭火。
    这个例子很恰当地展示了“中断”往往是“及时的”,而“查询”很可能发生“延迟”,延迟的后果往往是很严重的。
    再举个例子,你用笔记本在刷B站视频的时候为什么点一下鼠标视频就暂停了?这起始就是一种中断(具体的实现方式也可以是使用了定时查询做法,但定时查询其实也是一种中断)。
    二、何为“外部中断”
    有“外部中断”其实就有“内部中断”,这个内外是相对于cpu而言的,“外部中断”对cpu来说是突发的、异步的,而“内部中断”对cpu来说是突发的、同步的。
    举个例子:
    cpu在给你放视频的时候,你点了下鼠标,这就是突发的、异步的,是外部中断。
    cpu在放视频的时候,突然有条指令它自己不认识,这时候它不放视频了而是去执行另一段程序。这就是突发的、同步的,之所以说它是同步的,是因为cpu被打断的时候是本身执行的代码有问题,而不是外部产生的事件打断了它。
    其实“内部中断”也叫异常,常见的异常有“除数为零异常”、“未定义指令异常”、“swi异常”等。
    说到“swi异常”其实就又有“软中断”的概念,这个等你们学了《微机原理》跟x86汇编就懂了。在x86中还有一个“陷阱”的概念,这里就不展开了,严格来说,中断的概念属于异常,但也不用做过多的区分,你理解是什么意思就可以了。
    “中断”,尤其是“外部中断”是我们控制cpu的一种重要手段,学会使用“外部中断”才能让cpu更高效地为你工作。
    三、中断的机制
    看完前两部分,你只要对“中断”有个概念理解就行了,至于“异常”、“软中断”什么的你可以先不用管。
    中断的机制其实就是我们编程的套路,前面我们讲过“中断发生时cpu会被打断,转而去执行其他的事”,这个“其他的事”其实就是我们要编写的重要代码。等于说,外部中断发生时,cpu会去执行一段我们之前编写好的代码,这段代码可以是点亮一个灯、驱动一个蜂鸣器、显示一张图片等等。
    四、中断上下文
    中断发生时,cpu要放下手中的事,转而去执行其他的事,等其他的是执行完毕后还要在继续之前的事,因此这就涉及“上下文的存储和恢复”,上下文就是指寄存器里的数据,保存上下文就是把寄存器数据入栈、恢复上下文就是把数据出栈。
    寄存器:你可以理解为一个个小盒子,里面是放数据的。
    栈:这是个数据结构,你可以自己了解一下。
    五、小结
    这篇是面向零基础的、刚进班的大一、大二学弟学妹,因此讲了很多的概念,下一篇内容会涉及外部中断的配置代码、中断处理函数的编写,下下篇会围绕中断控制器展开有关“中断向量表”和“中断嵌套”的内容。
    更多内容移步公众号“游侠嵌入式”,传帮带大本营,学长学姐带你飞。在这里插入图片描述

    展开全文
  • 中断概念

    千次阅读 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)
              {报警;……}
      }
    展开全文
  • 单片机定时器中断(之中断概念

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

    千次阅读 2019-12-01 15:08:06
    概念: 程序执行过程中CPU会遇到一些特殊情况,是正在执行的程序被“中断”,cpu中止原来正在执行的程序,转到处理异常情况或特殊事件的程序去执行,结束后再返回到原被中止的程序处(断点)继续执行 程序执行被...
  • 妈妈在房间干活,小孩自己醒了,走出房间告诉妈妈:异步通知后面3中方式都需要小孩中断妈妈:中断她的睡眠、她的工作。事实上能“中断”妈妈的事儿多着呢·&nbsp;远处猫叫:忽略·&nbsp;门铃,小孩哭
  • 中断以及相关的概念

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

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

    千次阅读 2020-08-07 09:09:07
    中断,个人理解即为一个突发的任务打断了正在进行的任务。 中断分为两类:1.系统中断,体现在内核。 2.外部中断,体现在外设。 NVIC(向量中断控制器),是一个内核外设,通过NVIC管理内核以及片上外设的中断。 ...
  • 给你讲讲在硬件方面是如何实现中断的,中断就是我们计算机里非常重要的处理。
  • 文章目录前言一、中断概念1.术语解释2.F103系列单片机的中断及其管理器二、中断相关的寄存器及其设置方法三、配置中断的步骤及其库函数四、中断配置的模板总结 前言 随富随贫且欢乐,不开口笑是痴人。-----...
  • 基本概念 一、日常生活中的中断 *图片来源网络 二、处理器中的中断 在处理器中,中断是一个过程,CPU在正常运行的过程中,遇到内部/外部的紧急事情需要处理,那么这个时候先终止当前程序的执行,转而去处理内部/...
  • STM32中断优先级与相关使用概念.zipSTM32中断优先级与相关使用概念.zipSTM32中断优先级与相关使用概念.zipSTM32中断优先级与相关使用概念.zipSTM32中断优先级与相关使用概念.zipSTM32中断优先级与相关使用概念....
  • 1. 中断概念:  中断是指由于接收到来自外围硬件(相对于中央处理器和内存)的异步信号或来自软件的同步信号,而进行相应的硬件/软件处理。发出这样的信号称为进行中断请求(interrupt request,IRQ)。硬件中断导致...
  • 中断和异常概念详解

    千次阅读 2019-09-27 19:27:03
    1.中断和异常的概念 中断(interrupt)通常被定义为一个事件,该事件改变处理器执行的指令顺序。这样的事件与CPU芯片内外部硬件电路产生的电信号相对应。 中断通常分为同步(synchronous)中断和异步...
  • 本文主要讲了单片机中断源的概念,希望对你的学习有所帮助。
  • CPU中断的本质及分类,介绍硬件中断、软件中断、异常的含义
  • 中断挂起的概念: 1. 因为某种原因,中断不能马上执行,所以“挂起”等待。 2. 等程序可以中断,在执行“响应挂起的中断” 比如有高、低级别的中断同时发生,就挂起低级别中断,等高级别中断程序执行完,在执行低...
  • (用户态进入到内核栈时,该栈时空的,中断代码可以直接使用进程的内核态栈) 2-2 当前进程是内核态,使用栈进入到中断栈,并且在中断栈保存内核态各寄存器的值,执行中断代码,执行完中断代码后,从中断栈恢复内核态...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,729
精华内容 88,291
关键字:

中断概念

友情链接: vaxoable-qualified.rar