我正在研究中断。所以大多数架构都是中断驱动的,如果一切都是中断驱动的,处理器能够以多快的速度处理所有这些。例如,在按下键盘键的同时,它会创建一个中断,要求内核为新字符寻找缓冲区,在这种情况下,处理器可以提供多快的速度,同样,当放置中断时,处理器需要切换到内核空间,并且在上下文切换方面花费很多。所以我假设,即使在所有这些如果处理器具有良好的性能之后,那么我只能假设两次击键之间的时间在计算机速度方面有很多时间?一个平均值,一分钟内发生多少次上下文切换?我想这会给我一些关于我真正学习的东西,并获得现实生活的感受....谢谢....处理器如何处理中断
0
A
回答
0
在一个正常的linux系统中有一个很好的价值,并有较好的价值 具有典型的800ms量子值和更高的好值具有5ms的量子效应。
Linux系统使用启发式来决定进程是否为交互式。 你最好仔细阅读本说明:
https://www.cs.columbia.edu/~smb/classes/s06-4118/l13.pdf
有迹象表明,有关调度等待IO约束,等等等等
在一些数据结构,比如Linux保持 轨道上的互动进程数windows不止是抢先式多任务,应用程序通过GetMessage()API调用[在Windows GUI程序的情况下]支持 内核。在调用GetMessage()时 ,当有消息时,该进程将安排回去 待定在系统队列中处理。
2
如何快速地取决于多个方面:
- 延迟在CPU的硬件和中断控制器(如果有的话)
- CPU时钟速度(通常,事件(或响应他们)发生没有更快的速度)
- CPU可以访问所需内存的速度(系统表(例如中断向量表,但可能有段表和页表等),堆栈(被中断的代码指令指针通常会保存在堆栈中,所以ISR可以返回到它),ISR代码本身以及它所有的数据ES)。显然,代码,数据和TLB缓存将在这里做出贡献。
- ISR工作所需的时间,特别是如果ISR不能相互抢占,所以并发中断必须被序列化。
- 中断优先级。通常,不同的中断源被分配不同的优先级。例如,你希望不可屏蔽的中断,机器检查中断(基本上是中断报告严重的硬件问题)和定时器中断具有比键盘中断更高的优先级。在基于优先级的中断处理中,优先级低于当前正在服务的中断的所有中断将不得不“等待”。所以,如果你有很多高优先级的中断,低优先级的中断可以用明显的变化的时延来服务。极端的情况是高优先级的中断不断发生。这可能是由于不正确的设计或硬件故障。
- 与其他CPU的通信和交互。在MP系统中,中断处理程序有时可能会使用螺旋锁来独占访问多个CPU之间共享的资源。如果存在争用,ISR将等待,并且所有其他中断(或所有较低优先级的中断)将不会被服务,直到当前的ISR完成其工作。
这是一般性问题的一般答案。
编辑:我忘了再提一件事。存在一些奇数的CPU,其中某些指令是可重复的(考虑到x86的rep movsb
),并且在重复的指令完全结束之前中断不能开始得到服务,这可能需要花费相当于执行大约1000个甚至更多简单单独指令的时间。所以,尽管中断被启用,但可能会有一些CPU怪癖不让ISR开始运行。其中一种CPU是TI的TMS320C54xx。有了它,你必须小心FIR滤波器代码。如果过滤器很长并且被实现为重复的MAC指令,则它会在中断服务中引入延迟。
相关问题
- 1. 双处理器机器如何处理中断?
- 2. 处理器在中断时如何处理指令
- 3. SMP如何处理中断?
- 4. KVM如何处理中断
- 5. 如何处理中断?
- 6. 处理中断:
- 7. KVM如何处理物理中断?
- 8. 预处理器,后处理器,几何处理器和NC处理器
- 9. 中断处理Linux和待处理中断
- 10. 你如何处理bootloader中的中断?
- 11. JDK8 CompletableFuture.supplyAsync如何处理中断异常
- 12. 如何正确处理GKSession的中断?
- 13. c#如何处理互联网中断
- 14. 如何处理中断的AndroidHttpClient操作
- 15. 8051μCU - 如何处理并发中断?
- 16. 如何测试中断的POST处理
- 17. Contiki OS如何处理外部中断?
- 18. AVPlayer:如何处理网络中断
- 19. 如何处理Mongoose DB连接中断
- 20. 如何在处理中断while语句?
- 21. 如何正确处理音频中断?
- 22. 如何中断事件处理程序
- 23. 在VHDL中处理中断
- 24. 如何处理未处理在node.js中
- 25. PIC 16F684微控制器中断处理
- 26. 中断微控制器处理
- 27. 执行器服务中断处理
- 28. Jenkins处理节点中断
- 29. 处理中断下载
- 30. 在TestNG中处理断言
这是如此依赖于处理器。你可以看看这个:http://www.advenage.com/topics/linux-timer-interrupt-frequency.php –