cpu中断系统
中断即打断,实至CPU再执行当前程序时,由于系统出现了某种需要处理的紧急情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理的出现的紧急事务,处理结束后CPU自动返回到原先暂停的程序中去继续执行,这种执行过程由于外界的的原因被中间打断的情况成为中断。
中断的作用:
中断使得计算机系统具备应对对处理突发事件的能力,提高了CPU的工作效率,如果没有中断系统,CPU就只能按照原来的程序编写的先后顺序,对各个外设进行查询和处理,即轮询工作方式,轮询方法貌似公平,但实际工作效率却很低,却不能及时响应紧急事件。
CPU中断系统
CPU、中断控制器、外设中断源。
cpu中断概念
主要功能是当计算机由于异常事件,或者一些随机发生需要马上处理的事件时控制器会控制CPU暂时停止现在程序的执行,转向另一服务程序去处理这一事件,处理完毕再返回原程序的过程。
cpu中断处理机制
处理器间中断(Inter-Processor Interrupt,IPI)是一种特殊类型的中断,即在多处理器系统中,如果中断处理器需要来自其它处理器的动作,一个处理器向另一个处理器发出的中断行为。
可能要求采取的行动包括:刷新其它处理器的内存管理单元缓存,如转译后备缓冲器,当一个处理器更改内存映射时;停机,当系统被一个处理器关闭时。主要功能是当计算机由于异常事件,或者一些随机发生需要马上处理的事件时控制器会控制CPU暂时停止现在程序的执行,转向另一服务程序去处理这一事件,处理完毕再返回原程序的过程。
cpu中断系统产生中断
可能有这样几个原因:
1.机子内存太低.
2.电脑随机启动项太多,可以运行msconfig把不需要随机启动取消。或者是使用360安全卫士做开机加速优化
3.下载的程序不要安装在C盘里,放在C盘里会导致运作反应慢. 如果已经安装在C盘里,可以使用360安全卫士C盘搬家功能,移动去其他盘!
4.系统垃圾太多,或是中恶意插件或流氓软件,用360安全卫士清理查杀修复 。
cpu中的中断系统原理及其作用
一般中断处理的主要步骤分别是中断请求、中断判优、中断响应、中断处理和中断返回。 在微机系统中,对于外部中断,中断请求信号是由外部设备产生,并施加到CPU的NMI或INTR引脚上,CPU通过不断地检测NMI和INTR引脚信号来识 别是否有中断请求发生。对于内部中断,中断请求方式不需要外部施加信号激发,而是通过内部中断控制逻辑去调用。无论是外部中断还是内部中断,中断处理过程 都要经历以下步骤: 请求中断→响应中断→关闭中断→保留断点→中断源识别→保护现场→中断服务子程序→恢复现场→中断返回。 请求中断 当某一中断源需要CPU为其进行中断服务时,就输出中断请求信号,使中断控制系统的中断请求触发器置位,向CPU请求中断。系统要求中断请求信号一直保持到CPU对其进行中断响应为止。 中断响应 CPU对系统内部中断源提出的中断请求必须响应,而且自动取得中断服务子程序的入口地址,执行中断 服务子程序。对于外部中断,CPU在执行当前指令的最后一个时钟周期去查询INTR引脚,若查询到中断请求信号有效,同时在系统开中断(即IF=1)的情 况下,CPU向发出中断请求的外设回送一个低电平有效的中断应答信号,作为对中断请求INTR的应答,系统自动进入中断响应周期。 关闭中断 CPU响应中断后,输出中断响应信号,自动将状态标志寄存器FR或EFR的内容压入堆栈保护起来,然后将FR或EFR中的中断标志位IF与陷阱标志位TF清零,从而自动关闭外部硬件中断。因为CPU刚进入中断时要保护现场,主要涉及堆栈操作,此时不能再响应中断,否则将造成系统混乱。 保护断点 保护断点就是将CS和IP/EIP的当前内容压入堆栈保存,以便中断处理完毕后能返回被中断的原程序继续执行,这一过程也是由CPU自动完成。 中断源识别 当系统中有多个中断源时,一旦有中断请求,CPU必须确定是哪一个中断源提出的中断请求,并由中断控制器给出中断服务子程序的入口地址,装入CS与IP/EIP两个寄存器。CPU转入相应的中断服务子程序开始执行。 保护现场 主程序和中断服务子程序都要使用CPU内部寄存器等资源,为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。现场保护是由用户使用PUSH指令来实现的。 中断服务 中断服务是执行中断的主体部分,不同的中断请求,有各自不同的中断服务内容,需要根据中断源所要完成的功能,事先编写相应的中断服务子程序存入内存,等待中断请求响应后调用执行。 恢复现场 当中断处理完毕后,用户通过POP指令将保存在堆栈中的各个寄存器的内容弹出,即恢复主程序断点处寄存器的原值。 中断返回 在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的 IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行。
CPU中断系统产生中断
需要在语句后面加上一个英文半角分号作为语句或者命令的结束符。
在中断系统中cpu一旦响应中断
(1)外部设备请求中断。一般的外部设备(如键盘、打印机和A / D转换器等)在完成自身的操作后,向CPU发出中断请求,要求CPU为他服务。
(2)故障强迫中断。计算机在一些关键部位都设有故障自动检测装置。
(3)实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路(可编程)控制其时间。
(4)数据通道中断。数据通道中断也称直接存储器存取(DMA)操作中断,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断;
(5)程序自愿中断。CPU执行了特殊指令(自陷指令)或由硬件电路引起的中断是程序自愿中断,是指当用户调试程序时,程序自愿中断检查中间结果或寻找错误所在而采用的检查手段,如断点中断和单步中断等。
哪些情况会引起CPU中断系统产生中断
CPU响应中断:就是CPU要去执行相应的中断服务程序,其响应过程是CPU将现在执行程序的指令地址压入堆栈,跳转到中断服务程序入口地址,中断服务程序的入口地址就是中断向量,这个中断向量用2个16位寄存器存放。
入口地址是22位的,地址的低16位保存在该向量的低16位,地址的高16位则保存在它的高6位,更高的10位保留。
步骤一:任何一个PIE中断组的外设或外部中断产生中断。如果外设模块内的中断被使能,中断请求将被送到PIE模块。
步骤二:PIE模块将识别出别的PIE中断组x内的y中断(INTx.y)申请,然后相应的PIE中断标志位被锁存:PIEIFRx.y=1。
步骤三:PIE的中断如要送到CPU需满足下面两个条件:
1.相应的使能位必须被设置(PIEIERx.y=1)。
2.相应的PIEACKx位必须被清除。
步骤四:如果满足步骤三中的两个条件,中断请求将被送到CPU并且相应的响应寄存器位被置1(PIEACKx=1)。PIEACKx位将保持不变,除非为了使本组中的其他中断向CPU发出申请而清除该位。
步骤五:CPU中断标志位被置位(CPUIFRx=1),表明产生一个CPU级的挂起中断。
步骤六:如果CPU中断被使能(CPUIERx=1,或DBGIERx=1),并且全局中断使能(INTM=0),CPU将处理中断INTx。
步骤七:CPU识别到中断并且自动保存相关的中断信息,清除使能寄存器(IER)位,设置INTM,清除EALLOW。CPU完成这些任务准备执行中断服务程序。
步骤八:CPU从PIE中获取相应的中断向量。
步骤九:对于复用中断,PIE模块用PIEIERx和PIEIFRx寄存器中的值确定响应中断的向量地址。有以下两种情况:
1.在步骤四中若有更高优先级的中断产生,并使能了PIEIERx寄存器,且PIEIFRx的相应位处于挂起状态,则首先响应优先级更高的中断。
2.如果在本组内没有挂起的中断被使能,PIE将响应组内优先级最高的中断,调转地址使用INTx.1。这种操作相当于处理器的TRAP或INT指令。
CPU进入中断服务程序后,将清除PIEIFRx.y位。需要说明的是,PIEIERx寄存器用来确定中断向量,在清除PIEIERx寄存器时必须注意
系统中断一直占用cpu
电脑卡顿原因:
一、CPU负荷过大,或者工作不正常。检查CPU和显卡散热,除尘,上油,或更换风扇。
二、电源电压不稳,电源功率不足。更换质量高的功率大的电源。
三、经常清理磁盘和整理磁盘碎片。
1、在“我的电脑”窗口,右击要清理的盘符—“属性”—“清理磁盘”—勾选要删除的文件—确定—是。
2、清除临时文件,开始—运行—输入 “%temp%”—确定。
3、用优化大师或超级兔子清理注册表和垃圾文件。
4、关闭一些启动程序, 开始-运行-msconfig---启动 ,除杀毒软件、输入法外一般的程序都可以关掉。
5、删除不用的程序软件。
6、整理磁盘碎片--开始 --所有程序--附件--系统工具--磁盘碎片整理程序--选定磁盘--分析--碎片整理。
7、减轻内存负担 ,打开的程序不可太多。如果同时打开的文档过多或者运行的程序过多,就没有足够的内存运行其他程序,要随时关闭不用的程序和窗口。
四、升级显卡、网卡驱动,换个档次高一点的显卡。
五、加大物理内存
六、合理设置虚拟内存 。
1、玩游戏,虚拟内存可设置大一些,最大值和最小值均设为物理内存的2-3倍,再大了,占用硬盘空间太多了。
2、虚拟内存设置方法是: 右击我的电脑—属性--高级--性能设置--高级--虚拟内存更改--在驱动器列表中选选择虚拟内存(页面文件)存放的分区--自定义大小--在“初始大小”和“最大值”中设定数值,然后单击“设置”按钮,最后点击“确定”按钮退出。
3、虚拟内存(页面文件)存放的分区,一定要有足够的空间,硬盘资源不足,造成虚拟内存不够用,在一台电脑中,在一个分区设置虚拟内存就够用了,不必在多个分区设置。