百科问答小站 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分钟都到了,所以就坐等这次真实的出警时间是多少了。





  

相关话题

  计算机windows7操作系统到底是属于多用户还是单用户? 
  写工业级别代码是种怎样的体验? 
  使用微软历代 Windows 版本是怎样的一番体验? 
  如果华为推出自主操作系统,作为开发者的你会予以支持吗? 
  低功耗CPU是怎么做到的? 
  教材上说铁路订票系统是实时操作系统,可是服务器的Linux不是分时操作系统吗? 
  对于安卓是否可以理解为安卓系统其实跑的是Linux? 
  从处理器架构的角度看,为什么超威半导体(AMD)相对英特尔(Intel)的中央处理器表现高分低能? 
  如果苹果电脑抛弃英特尔,会给英特尔带来多大的打击? 
  DDR5内存和CPU速度差不多了CACHE还有什么意义? 

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





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利