中断如何与USB分离器一起使用?

问题描述 投票:0回答:1

据我了解,每个输入端口(我认为是USB / SATA / PCIe等)都有通往CPU的中断线,被调用时会触发与该行相关的某种处理程序。

如果我的键盘上带有USB插座,并且插入了鼠标,那么当它们通过相同的输入端口进入时,CPU如何区分它们?

谢谢!

cpu interrupt interrupt-handling
1个回答
0
投票

那不是很正确。给定的设备可能会与一个或多个中断相关联。设备的概念是直接连接到cpu的控制器,而不是套接字或端口。在USB示例中,您的计算机可能具有与端口一样多的USB控制器;这些USB控制器与端口数量相同。但更可能具有内置的USB集线器,该集线器多路复用单个控制器,并为用户提供多个端口。

中断的目的是告诉CPU该设备需要注意,可用于更多输出或具有可使用的输入。如果太多设备共享一个中断,则CPU必须搜索希望引起注意的设备。此搜索会增加设备维修的等待时间,因此应将其最小化。因此,每个设备控制器的中断数量是优化搜索适当处理程序的功能,而不是实现设备(或controller驱动程序)的复杂性。]

在此设备交互级别,键盘和鼠标之间的区别无关紧要-它是一种从控制器生成并接受数据的设备。在USB情况下,class

驱动程序位于controller驱动程序之上,该驱动程序在连接的设备的上下文中解释数据。通常,当控制器重置或设备插入或拔出时,调度程序会根据通用协议中的值确定设备的类型,并由此确定要为其配置的适当的类驱动程序。

因此,设备驱动程序

的概念通常具有多个层次:硬件的交互处于较低级别或控制器级别;与设备的语义相关联的协议,在较高级别或class级别。
© www.soinside.com 2019 - 2024. All rights reserved.