百科问答小站 logo
百科问答小站 font logo



会不会有两个中断绝对同时发出,cpu会如何处理? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

题主的问题表达的不太正确,不过要问的内容还是很清晰的,先回答一下:

1. 整个一个键盘共一个中断,甚至是跟别的设备共用一个中断,不管是什么键盘。

机械键盘,并不是一个键位对应着一个中断。如果是PS/2的,只有一个中断。如果是USB的,那么实际上是USB控制器轮询的(虽然叫中断传输),所以从操作系统驱动的层面上,根本看不到“同时来了两个中断”的事件。

由于主流的机械键盘都是USB的,USB-HID类型的设备,单次只能上报8字节的报文,处理6-9个按键,所以,同时按下两个键,那么操作系统在某个轮训周期内,看到的是一个HID report里新包含了两个键。

但是即使这样,驱动也是从前往后扫描report然后依次上报的(从keycode1到keycode6),所以从驱动到操作系统软件这个层次上,按键时间是依次上报的。

2. 不管键盘同时按下几个键,键盘硬件是可以处理的。

这个解释起来比较长,我在这个问题里回答过:

电路扫描动作也是从上到下的,所以,即使同时按下两个键,硬件也是依次上报。

3. 不谈键盘,只说两个中断,中断控制器不会同时上报两个中断。

以x86上最古老的8259控制器来说,它的中断是有优先级的:

没配置优先级的情况下,从IRQ0到IRQ7依次排列,所以即使硬件上同时来了两个中断,那么8259A也是按照优先级依次上报的,不会同时上报两个中断。

(4)优先权判别器PR
若某中断请求正在被处理,8259A外部又有新的中断请求,则由优先权判别器将新进入的中断请求和当前正在处理的中断进行比较,以决定哪一个优先级更高。若新的中断请求比正在处理的中断级别高,由PR通过控制逻辑向CPU发出中断申请INT,正在处理的中断自动被禁止,先处理级别高的中断

对于高级一点的LoAPIC,建议看Intel的手册,配置过于复杂,但也是有优先级的。

所以,对于题主的问题,答案就是:不会有两个中断同时发出。


user avatar   lu-luce 网友的相关建议: 
      

你以为你的外设是直接用一根导线连接到CPU的吗?

不,他们是连接到总线的,俗称南北桥,南北桥上的中断控制器会根据优先级选择。


user avatar   windoze 网友的相关建议: 
      

这次舆论的重点在于警察到底是多久赶到的。

没拜码头,收保护费,打砸门面这种原因我们都知道,也不怕;

但是公权力私用或者黑白勾结这种事,就会让人非常害怕;

如果西安公权力真的黑白勾结,还睁眼说瞎话,那就需要处理整顿了。

我朝的治安也不是一直这么好的,人民也不是软弱无比的,60年代西安打的也很凶的。难不成西安各公司以后都要雇佣保安公司保护经营?

这次出警距离1公里,走路10分钟都到了,所以就坐等这次真实的出警时间是多少了。





  

相关话题

  英特尔敦促主板厂商,禁用 12 代酷睿 AVX 512 指令集,如何解读这一举措? 
  安卓是否在逐渐走向闭源,为什么我国手机公司却仍不开发自己的系统呢? 
  市面上的金银铜硅脂有什么效果上区别? 
  超威半导体锐龙(AMD Ryzen)系列的处理器有什么问题和缺陷? 
  Yoga14s 2021作为二奶机选酷睿还是锐龙? 
  如何看待「鸿蒙系统一夜之间拥有 57 万个 App」这一说法? 
  办公用电脑CPU为什么几乎被Intel垄断? 
  现在主存的速度已经超过CPU的速度,那么CPU片内的cache是否可以取消? 
  为什么普及 Linux 桌面操作系统这么难呢? 
  在 AMD 工作是怎样的体验? 

前一个讨论
世界上不用公元纪年的国家都使用什么纪年方法?
下一个讨论
为什么51单片机编程喜欢用unsigned(无符号)类型定义变量呢直接用 int.char..不好吗?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利