键盘:你干嘛???你按我干什么?

作者: 小刘不是程序员分类: 计算机技术 发布时间: 2024-03-07 09:47:00 浏览:1406746 次

键盘:你干嘛???你按我干什么?

不皮就不是蚊咂:
操作系统知识以一种诡异的方式再度进入了我的大脑……

【回复】回复 @Once_heart :对于计算机学科的来说更惨…仿佛被离了好久的前夫XX了[无语]
【回复】知识歹毒地进入我的大脑
A股黄老爷:
鼠标的移动和左键和右键是不是也是差不多?频繁给出中断?鼠标会预估你移动到哪了,就会发送给计算机?

【回复】现在的鼠标键盘都是轮询的,不是鼠标键盘被操作后找CPU,而是CPU定时找键鼠看有没有被操作。
【回复】并不是…usb总线是主机轮询的方式获取信息,从机并不主动发送信息
【回复】不会估计……一看就是没玩过linux,直接把鼠标那个文件cat出来,动动鼠标就看出来了。鼠标发出的是相对移动和按键信息,视鼠标厂商乐意情况合在一个描述或者拆成两个描述,鼠标主控会检查自己有没有移动,如果有,把相对移动的向量坐标发出去,也会检查自己的按键状态,通常情况下有变动时会把此时的按键状态发出去,通常情况下这些数据都会被主板的USB主控暂时存起来,等待CPU去提取。CPU周期性的检查USB消息并获取,这个行为就叫轮询。PS2比这个多一个步骤,就是直接给CPU一个硬件信号,这个硬件信号应该会由系统进行最终处置,这个步骤叫中断,在计算机上,中断之所以叫中断,是因为它会让CPU停止执行当前程序而执行中断对应的程序,等于是要求CPU优先响应键鼠事件。至于频繁不频繁,估计要看PS2芯片了,标准协议只有100Hz左右,相比于今天的CPU来说那是相当不频繁了。
纯污ove:
不严谨,键盘应该是:按我哪了按我哪了按我哪了……

【回复】主机:你被按了么你被按了么你到底有没有被按
【回复】回复 @猪猪-李 :现在都是usb键盘,虽然叫做中断传输,但本质上就是楼上说的主机间隔一段时间就去访问一下键盘而已
【回复】键盘应该是中断触发吧 技术沟通
索尼-谷歌-大法好:
请问PS/2接口的设备 是不是对CPU的占用几乎没有,我看那些液氮超频CPU的,都是特地用的PS/2接口的键盘鼠标

【回复】ps2是设备发出信号,usb是每隔一段时间电脑询问。液氮超频不是特地去用ps2的键鼠吧,新一点的主板都没ps2口了
【回复】回复 @RT3628AE :PS/2是中断,强制要求CPU处理,USB是轮询,如果CPU被堵塞就会引起键鼠失效
【回复】回复 @Player-PIXY :什么接口没影响,对CPU有影响的是轮询率吧,键盘和鼠标都用4k的轮询率对处理器性能开销属实不小[doge]
Asingw:
我:(在玩游戏) 键盘:你干干干干干干干干干干干干干干嘛

【回复】我:(在玩游戏,按wasd行走) 我的输入法:我我我我我我我我wwww啊啊啊啊啊
午时已到是个努巴泥:
我点赞的时候要按w 但是我一按w它就会生气 所以我不按了

【回复】你用的是五笔输入法吗,五笔我不太懂,但是拼音输入法你打出我这个字的时候键盘已经生气了[思考]
【回复】pc客户端被奇怪的知识入侵
Vagrant_Apple:
试了下,为什么我的键盘不会骂我啊[大哭]

【回复】嗯……那要不我骂你几句?[doge]
Omega无羡-BG5BKO:
现在的USB就不一了 PS/2是设备主动打断系统,插入高优先级任务来响应按键的按下。 USB则正好相反,系统进程会以一个频率不停的问设备有没有键按下,这个频率叫轮询频率,频率越高,键盘鼠标等外设的信息输入越快,响应延迟越低。办公鼠标的轮询率一般是200Hz左右,而罗技G502等高端游戏鼠标的轮询率能高达1000Hz,新的罗技狗屁王2Pro则干到了4000Hz,插到一些近十年前的那种老古董上,鼠标移快点都能卡起来

【回复】按我做嵌入式软件的经验来看,轮询反而是最浪费资源的吧。放在那里不用CPU也一直在循环读取。中断响应和异步通知才是最优效率的
【回复】回复 @BiBidone :对的,PS/2接口的原理决定了他的延迟取决于CPU的运行频率,CPU频率越高,PS/2请求能够越快响应。但是还有个问题就是信息发送的速度,设备将数据发送给计算机的频率是有限的,PS/2设备的发送频率太高也会导致系统分出许多算力处理设备发来的数据,系统会被频繁中断,这可能会出现很多问题。而且发送数据的频率也类似于USB设备的轮询率。这么看来PS/2被逐渐淘汰也是有原因的,相较于一个设备可以随时打断计算机系统,还是专门设置一个程序,稳定的分去一部分算力用于处理HID设备的数据比较靠谱。
【回复】回复 @不_如 :讲个笑话,DDoS攻击localhost[doge]
ktsino2:
是类似单片机的中断嘛?我有点印象要从一个消息队列里面获取点击事件,可能是更上层的封装?要是再多讲点就好了

【回复】不是类似,就是硬件中断
【回复】回复 @ktsino2 :用不上了,现在应该没多少人会写裸片的x86 x64的[doge][doge]
【回复】回复 @Zz11zZ :哦哦哦 那挺有意思的,我还没用过pc的中断呢
bili_200359450:
其实键盘是不会说话的,这个是up主自己配音的[思考]

【回复】我怎么才能变得跟你一样聪明
【回复】原来是这样,我还寻思这键盘怎么还能说话
【回复】我还寻思咋有这么高级的键盘呢,上拼多多搜也没有会说话的键盘
咔咔yll:
我是外行不太懂,但耐不住好奇。为啥键盘就不能直接发ADC,是为了防止 bug 还是减少误差啥的呀,能不能来个懂行的给我讲解一下

【回复】因为计算机只能识别0和1[笑哭]用键盘输入的过程相当于是人和计算机在交流,但是语言不通,于是需要翻译器,就有了编程(将0和1都做成人类和计算机都能理解的语言)
【回复】回复 @咔咔yll :首先,二进制的两位数,只能表示十进制的0-3。其次,数据传输是有最小单位的。编码1或者1000发的都是一次发送一样长度的数据。
【回复】回复 @咔咔yll :抱歉,先叠个晚甲(我只是自己学编程的时候理解的一些东西而已,我也只说自己理解的,不会误人子弟的地方,欢迎补充和反驳[脱单doge])。 再来,因为发现自己不小心写的很多。[捂眼] 直接省流:可能就是写起来麻烦[妙啊] 计算机是电器,现在的所有电子产品其实也都是这样,只能用最简单的方式,就是电流的传输。比如你要让灯亮起来,你就要去按电源开关,你不能只看着灯,它就亮起来(哈哈)。 这里计算机的0和1相当于开关,这就是最简单的指令。也像摩斯密码,用短长(计算机是01)来表达信息。 英语就26个单词,再加上一些特殊特号,都是可以用编号来让计算机和人类直接看懂,这里还要涉及ascll码。(咱就不说了) 重要的是:你不能用人类的思维去看计算机。 而且编程语言之所以用了人类的语言,也是因为服务于人类。计算机语言是独属于计算机的。 之所以没有汉字版的操作系统,可能只是因为实用性也不高,非常臃肿,而且不仅写起来麻烦。 如果我们用了中文编程的话,肯定还能有其他国家用自己的语言去写。对于计算机来说可能就是一种语言,要翻译好几遍,他才听得懂,可以说确实是为了统一性,所以英文真的更方便。
是朗星呀:
@Ace_cream阿方 为什么推送这个。惊恐jpg.

雨落--流殇:
不是,哥,我上微机原理刷B站就是为了放松,怎么又刷回去了[辣眼睛][辣眼睛][辣眼睛]

memorybook:
一直想问中断到底是怎么定义的,为什么说是中断请求中断通信呢

【回复】回复 @鼠带大聪明 :51的吗?微机原理里也学了单片机,但是对中断还是搞不太懂,我工作还正好分给我要做中断这块,虽然说可以不管原理,但是心里还是好难受啊
【回复】回复 @Birdhigh :[大哭][大哭][大哭]啊啊啊啊你懂我
【回复】回复 @要一直进步呀 :[大哭][大哭][大哭]谢谢你,就是想知道什么会被定义成中断,到处都有中断,人麻了

键盘 操作系统 学习 计算机 电脑

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!