首页 > 其他分享 >外部中断和内部中断

外部中断和内部中断

时间:2023-10-23 21:13:57浏览次数:22  
标签:内部 中断 应用程序 外部 指令 执行 CPU

一.内部中断(也称为异常,是由CPU执行指令的内部事件因此的,中断信号来自于CPU内部)引起的原因有:
1.用户态执行特权指令

2.执行非法指令(除以0,地址越界,算术溢出)

3.当应用程序中出现陷入指令时:

当应用程序想请求操作系统内核服务的时候,应用程序会执行一个陷入指令(陷入指令什么时候出现在应用程序当中,是后加入的还是之前就写在应用程序中的),陷入指令会触发一个内部中断,用户态会切换为内核态,CPU执行中断信号类型查询中断向量表找到相应的中断处理程序对中断进行处理,处理后CPU会将使用权还给应用程序,此时内核态转换成用户态。

二.外部中断(狭义的中断,是由CPU执行指令以外的事件引起的,中断信号来自于CPU外部)

例如:

1.时钟中断(时钟中断保证了程序可以并发的运行,也就是50ms一道CPU就处理下一个应用程序,又过了50msCPU又返回处理这个程序)

2.I/O中断

标签:内部,中断,应用程序,外部,指令,执行,CPU
From: https://www.cnblogs.com/Sandals-little/p/17783479.html

相关文章

  • 频谱仪的内部衰减和外接衰减器有何区别?对底噪和测试结果有什么影响?
    内部衰减器是指Amplitude菜单的Attenuation,貌似这个值越大频谱仪的底噪越大,那外接衰减器呢?频谱分析仪显示的信号是叠加在平均噪声电平上,这个噪声是由频谱仪自身产生的,大部分来自中频放大器的第一级,它是宽带白噪声,经过中频滤波器后送到包络检波器的平均噪声功率,当输入衰减增加时,降......
  • 微信小程序 mqtt 连接中断原因
    上周开发微信小程序时新加了一个页面,复用了以前页面的逻辑,但是今天发现新加的页面出现了很奇怪的问题:进入新页面后,点一下查询再退出页面,mqtt连接正常;进入新页面后,直接返回退出页面,mqtt连接中断。WebSocketconnectionto"wss://www.xxxx.com/mqtt"failed:Closereceiveda......
  • STM32不使用 cubeMX实现外部中断
    这篇文章将介绍如何不使用cubeMX完成外部中断的配置和实现。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:如何不使用cubeMX实现外部中断。实验:使用外部中断控制key点亮led.如果大家想了解如何cubeMX实现外部中断,可以参考我之前的文章:最详细STM32,cub......
  • 最详细STM32,cubeMX外部中断
    这篇文章将详细介绍cubeMX外部中断的配置,实现过程。@TOC前言实验开发板:STM32F103C8T6。所需软件:keil5,cubeMX。实验目的:外部中断的意义,cubeMX配置和实现等。一、外部中断的基础知识。对于外部中断的基础知识,可以参考我之前的文章:STM32EXTI外部中断二、cubeMX配置外部中断选......
  • esp32笔记[8]-rust的定时器中断点灯
    摘要使用rust开发esp32c3实现定时器中断点亮led灯.超链接esp32笔记[7]-使用rust+zig开发入门平台信息esp32c3rustMutex锁usecore::cell::RefCell;usecritical_section::Mutex;//no-std库专用的Mutex我们首先注意到的是静态变量BUTTON。我们需要它,因为在中断处理程......
  • 揭秘计算机指令执行的神秘过程:CPU内部的绝密操作
    计算机指令从软件工程师的角度来看,CPU是执行计算机指令的逻辑机器。计算机指令可以看作是CPU能够理解的语言,也称为机器语言。不同的CPU能理解的语言不同。例如,个人电脑使用Intel的CPU,苹果手机使用ARM的CPU。这两种CPU支持的语言不同。这些不同CPU支持的语言被称为不同的指令集。......
  • 3、中断服务
    中断服务历程中断处理是计算机系统中的一种重要机制,用于处理异步事件或请求,如硬件中断、软件异常等。中断处理的基本原理是通过一个中断向量表来确定中断源,并执行相应的中断处理程序。在操作系统层面,这通常是通过中断服务例程(ISR)来实现的。基本原理如下:中断源:计算机系统中的......
  • 内部类
    内部类写在一个类里面的类叫做内部类内部类的分类成员内部类/静态内部类/局部内部类/匿名内部类成员内部类写在成员位置的,属于外部类的成员。成员内部类可以被一些修饰符所修饰,比如:private,默认,protected,public,static等。在成员内部类中,JDK16之前不能定义静态变量,JDK16开始......
  • 01内部类
    内部类一、内部类的分类成员内部类静态内部类(static)局部内部类:类在方法的内部匿名内部类二、内部类的概念(什么是内部类?)在一个类的内部再定义一个完整的类classOuter{classInner{}}三、内部类的特点编译之后可生成独立的字节码文件内部类......
  • linux 内核 --- 关抢占/关中断,临界区
     preempt_disable()local_irq_disable()/local_irq_save(flags)spin_lock()spin_lock_irq()/spin_lock_irqsave(lock,flags)spin_lock()会调用preempt_disable()导致本核的抢占调度被关闭(preempt_disable函数实际增加preempt_count来达到此效果),spin_lock_irq()是local_i......