gpt4 book ai didi

mouse - 计算机如何处理移动鼠标的输入?

转载 作者:行者123 更新时间:2023-12-04 12:51:56 26 4
gpt4 key购买 nike

是涉及到寄存器还是缓存内存相关?

我的问题的说明性示例可能很简单,我将鼠标移过我当前正在输入的屏幕。我不点击任何东西,我只是将箭头从左到右、上下移动。 CPU 如何处理鼠标相对于显示器显示的瞬时位置变化?

编辑:我知道这更多是由操作系统处理的,因为鼠标是外部设备,CPU 只是计算值并执行逻辑。鼠标移动并且在每个时钟信号上操作系统都会获得中断并适本地处理它。

最佳答案

当您移动/单击鼠标时,它会产生一个中断。中断基本上是一种告诉 cpu 发生了需要处理的事件的方法。然后内核将运行其中断处理程序来处理鼠标事件。

例如,PS/2 鼠标通过 3 字节数据包进行通信:

-----------------------------------------------
Byte 1 | YV | XV | YS | XS | 1 | MB | RB | LB |
-----------------------------------------------
Byte 2 | X movement |
-----------------------------------------------
Byte 3 | Y movement |
-----------------------------------------------

MB、RM、LB 标志代表中、右和左按钮点击。

然后内核最终会将这些事件传递给正在运行的应用程序。

例如,在 Linux 中,X Window Server是处理鼠标事件的进程。通过通用的 X 事件协议(protocol)通知各个图形应用程序。

运行代码时总是涉及到寄存器和高速缓存。内核中断处理程序经过优化,可以快速处理中断并将其传递。由于 cpu 的速度非常快,因此这种变化几乎是瞬间发生的。处理器以纳秒分辨率工作,每秒有十亿纳秒。

关于mouse - 计算机如何处理移动鼠标的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com