浅谈ps/2键盘

文章目录

  • 说明
  • 基础知识
    • 操作系统中断
      • 类型
      • 工作机制
      • 优点
      • 应用
    • CPU对IO设备的轮询机制
      • 轮询机制的工作原理
      • 轮询机制的特点
      • 轮询机制的优、缺点
      • 与中断机制的对比
    • N-Key Roller(全键无冲)
      • 应用领域
      • 实现原理
      • 技术限制
  • PS/2接口简介
  • USB设备&PS/2设备的工作机制
  • PS/2键盘优&缺点
    • 系统相应级别高
    • 兼容性好
    • 支持N-Key Roller(全键无冲)
    • 安全性高
  • 不支持热插拔
  • USB键盘VSPS/2键盘

说明

  • 本文章学习自UP主 VirtualMOD 主板上保留PS/2[非原视频名称]
  • 本作者并非搬运视频的内容,而是从一个计算机相关的学习者出发,正好复习一下和计算机组成原理相关的内容,所以写下这篇文章,希望能给大家分享一些有趣的内容
  • 在此,感谢UP VirtualMOD的无私贡献

基础知识

操作系统中断

  • 操作系统中的中断是计算机硬件或软件发出的信号,它会导致中央处理单元(CPU)暂停当前正在执行的任务,转而去处理更高优先级的特定事件或条件。
  • 中断是现代计算机系统中非常关键的一个概念,它允许操作系统更有效、更实时地响应外部和内部事件

类型

中断主要分为两大类:

  1. 硬件中断(外部中断)
    • 由计算机硬件发出的信号,例如键盘输入、鼠标移动、网络数据到达等。
    • 硬件中断是由外部设备直接发送到CPU或通过中断控制器来管理的。
  2. 软件中断(内部中断)
    • 由执行中的程序指令序列产生,如系统调用或软件异常(如除零错误、访问无效内存等)。
    • 软件中断通常是程序员显式地在代码中加入的中断点或异常处理逻辑。

工作机制

当中断发生时,操作系统将执行以下步骤:

  1. 中断信号的接收:CPU接收到中断信号,当前执行的指令完成后响应该中断。
  2. 当前状态保存:操作系统保存当前任务的状态,包括程序计数器、寄存器等信息,以便中断处理完成后能恢复执行。
  3. 中断处理:CPU根据中断类型跳转到对应的中断服务程序(ISR),执行必要的操作来处理中断。
  4. 状态恢复:中断处理完毕后,操作系统恢复之前保存的任务状态,继续执行被中断的任务。

优点

  • 响应速度:中断使得CPU可以立即响应外部事件,提高系统的响应速度和效率。
  • 多任务处理:通过中断,操作系统可以在多个任务之间高效地切换,实现多任务并发执行。
  • 资源有效管理:中断驱动的输入/输出操作允许CPU在等待外部设备时执行其他任务,有效地利用系统资源。

应用

  • 实时操作系统中,中断处理是非常关键的,因为它们需要在严格的时间限制内响应外部事件。
  • 网络通信中,硬件中断用于处理到达的数据包,确保数据的及时处理。
  • 多用户环境中,中断使得操作系统能平等地分配处理器时间给不同的用户和程序。

CPU对IO设备的轮询机制

  • 在计算机系统中,轮询(Polling)是一种用于从I/O(输入/输出)设备检测状态的技术,其中CPU定期检查设备是否需要注意,如是否有数据可读取,或是否可以接受新数据进行写入。这是一种同步I/O处理方法,与基于中断的异步I/O处理形成对比。
  • 轮询机制通常由操作系统或设备驱动程序控制。

轮询机制的工作原理

  1. 轮询循环:CPU按照一定的顺序不断循环检查一组I/O设备。
  2. 设备状态检查:对于每个设备,CPU读取其状态寄存器来判断设备是否准备好进行数据传输。
  3. 数据传输:如果设备准备好,CPU将执行数据的读取或写入操作。
  4. 等待或继续:如果设备未准备好,CPU会继续轮询下一个设备,直到所有设备都被检查。

轮询机制的特点

  • 简单:轮询机制相对简单,容易实现。
  • 占用CPU资源:CPU需要不断检查各设备的状态,这会占用CPU资源,尤其是当I/O设备较多时。
  • 实时性不高:由于CPU需要依次检查每个设备,因此对于每个具体的设备来说,响应时间可能较长。
  • 适用于特定场景:轮询方式适合于I/O操作较少且预测性强的系统中,例如在嵌入式系统中常见。

轮询机制的优、缺点

优点:

  • 结构和编程简单,容易理解和实现。
  • 对于无需快速响应的设备,能够有效地工作。

缺点:

  • 效率低:在没有I/O需求时,CPU仍在不断地检查,导致处理器时间的浪费。
  • 实时性差:对于需要快速响应的I/O操作,轮询可能无法及时响应。
  • 不适宜I/O密集型应用:对于I/O密集型任务,轮询方式的CPU开销会非常大。

与中断机制的对比

中断机制下,设备在需要CPU注意时会直接发出中断请求,CPU响应中断后,暂停当前任务,转而处理I/O事件。中断机制更有效率,因为它允许CPU专注于其他任务,只有在必要时才处理I/O任务。但中断机制相比轮询在设计和实现上更复杂,需要更精细的控制和错误处理机制。

总体而言,轮询通常用于简单或对实时性要求不高的环境,而需要快速和高效响应I/O请求的环境则更倾向于使用中断机制。

N-Key Roller(全键无冲)

  • N-Key Rollover(NKRO):指键盘在同一时间可以识别并正确处理所有按键的能力。简单来说,具有N-Key Rollover功能的键盘可以在任何时候同时识别所有被按下的按键,每个按键都会被独立地发送到计算机,不会发生按键冲突或遗漏。

应用领域

  • 对于快速打字者、程序员或游戏玩家,他们可能需要同时按下多个键而不丢失任何一个按键动作。例如,在某些高速或竞技游戏中,玩家可能需要同时按下多个方向键和功能键来执行复杂的操作。

  • 游戏:玩家在游戏中可能需要快速且准确地按下多个键。

  • 打字:打字快速者不希望因为键盘限制而减慢速度或产生错误。

  • 音乐制作:在使用键盘作为MIDI控制器时,可能需要同时按下多个键来演奏和弦。

实现原理

  • NKRO通常是通过矩阵布线实现的,这种设计使得键盘中的每一个键都有一个唯一的电路,避免了“键盘幽灵”现象——这是指在多键同时按下时,键盘错误地注册了未被按下的按键。

技术限制

  • 早期的USB键盘受到USB HID标准的限制,该标准一开始只允许6个键加上修饰键(如Shift、Ctrl等)的同时按下,被称为6-Key Rollover(6KRO)。不过,现代USB键盘通过特殊技巧可以克服这一限制,提供完整的N-Key Rollover。

PS/2接口简介

在这里插入图片描述

  • PS/2接口是一种用于连接计算机键盘和鼠标的接口。接口由IBM在1987年随Personal System/2系列计算机一起推出,因此得名PS/2。该接口是对之前的DIN(Deutsches Institut für Normung,即德国国家标准化组织)连接器的改进,后者在1980年代的IBM兼容计算机上非常常见。

PS/2接口的特性包括:

  • 形状和尺寸:PS/2端口是一个小圆形连接器,通常有6个针脚并呈现迷你DIN的形式。

  • 颜色代码:为了区分键盘和鼠标的接口,经常使用颜色编码——通常键盘端口是紫色的,鼠标端口是绿色的。一半是紫色,另一半是绿色,可以兼容键盘或鼠标的连接,可以将键盘或鼠标插入同一个端口。

  • 不支持热插拔:在大多数情况下,PS/2设备不支持热插拔,这意味着在连接或断开设备时,计算机应该处于关闭状态。

  • 双向通信PS/2接口支持全双工通信,设备和主机可以同时发送和接收信号。

  • IRQ线PS/2设备每个都有专用的中断请求(IRQ)线,允许键盘和鼠标直接向CPU发送中断信号,在理论上可以提供较低的输入延迟。

  • PS/2接口在21世纪初期逐渐被USB接口所取代,原因包括USB接口的热插拔能力支持更多设备类型及其能够通过集线器扩展更多端口的能力。

  • 尽管PS/2端口在新电脑上变得不那么常见,但在需要稳定连接和较低输入延迟的场合仍然可以找到它的身影。例如,笔记本自带的键盘通常采用ps/2接口形式,下面展示的是HP 战X的笔记本键盘设备就是使用的PS/2接口

在这里插入图片描述

USB设备&PS/2设备的工作机制

  • USB设备的工作依赖于计算机的轮询机制
    在这里插入图片描述

请添加图片描述

  • 常见USB键盘工作在125HZ,就是每秒向计算机报告125次键盘状态,理论延迟在0~8ms,平均延迟为4ms

  • 鼠标工作在不同频率,如125hz、250hz、500hz、1000hz,平均延迟分别在在4ms、2ms、1ms、0.5ms
    请添加图片描述

  • PS/2协议允许键盘和鼠标中断,CPU当前的操作及发送指令,理论上PS/2的延迟为0。
    请添加图片描述

PS/2键盘优&缺点

系统相应级别高

  • 在计算机资源紧张的时候,系统可能会降低对USB设备的轮询效率,甚至完全停止轮询,导致USB设备无法被正确识别。
  • 例如:Ctrl+At+Delete的组合键通常会产生一个不可屏蔽的中断以重启系统,但在某些极端电脑死亡的情况下,系统可能不会相应USB键盘的指令,而PS/2协议拥有更高的中断优先级,使用PS/2键盘就可以解决系统不响应Ctrl+At+Delete的组合键的问题。

兼容性好

  • PS/2设备在兼容性方面具有其他优势,相比于USB设备需要加载控制器驱动,并于计算机痛信以识别设备,PS/2接口专门为键鼠设计,需要在设备开机前插入键盘,并在设备启动后立刻被识别,在缺乏对USB支持的操作系统和BIOS中,PS/2键鼠可以正常工作。

支持N-Key Roller(全键无冲)

  • PS/2设备支持真正的N-Key Roller(全键无冲),意味着可以在键盘上同时按下多的按键并且同时被系统识别。
    在这里插入图片描述
  • 常见的USB键盘最多只支持6Key甚至是2Key-Rollover。当同时按下的按键超过限制时,USB类型键盘会停止工作或失去响应。当然,USB设备可以通过在系统设备中模拟多个多个键盘,来支持N-Key Roller(全键无冲),可能的缺陷是限制其他设备的数量。
    在这里插入图片描述

安全性高

  • 使用PS/2键鼠导致windows蓝屏或死机的概率远小于使用USB设备。USB设备在连接时需要加载带有签名的驱动程序,可能带来潜在的风险,使用PS/2键鼠可以禁用所有的USB端口,防止通过USB端口进行数据读写操作。这也是政府机构普遍采用PS/2+内网组合的原因之一。

不支持热插拔

  • 不支持热插拔:在大多数情况下,PS/2设备不支持热插拔,这意味着在连接或断开PS/2设备时,计算机应该处于关闭状态。

USB键盘VSPS/2键盘

  • PS/2键盘和USB键盘的主要区别、优点和缺点:
特性PS/2键盘USB键盘
接口类型圆形的六针连接器矩形连接器
识别方式在BIOS级别工作,无需操作系统支持由操作系统动态识别
插拔方式不支持热插拔,可能需重启计算机支持热插拔
优点专用中断,低输入延迟;支持N-Key Rollover热插拔;普遍适用性高;扩展性好
缺点不支持热插拔;插槽数量有限;逐渐被淘汰可能的输入延迟;电源管理问题;共享带宽
适用性适合需要高精度和低延迟的专业应用适合日常使用和现代电脑配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/592450.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【在线oj系统】02-开发环境版本说明

目录 一、前置环境版本介绍 二、SpringCloud组件停更/替换/更新 服务注册和发现 服务调用和负载均衡 分布式事务 服务熔断和降级 服务链路追踪 服务网关 分布式配置管理 三、客户端版本 一、前置环境版本介绍 使用Cloud的版本决定Boot的版本,SpringCloud的…

大语言模型从Scaling Laws到MoE

1、摩尔定律和伸缩法则 摩尔定律(Moores law)是由英特尔(Intel)创始人之一戈登摩尔提出的。其内容为:集成电路上可容纳的晶体管数目,约每隔两年便会增加一倍;而经常被引用的“18个月”&#xf…

【02358单片机原理及应用】第一、二章考试复习知识点期末复习自考复习

单片机原理及应用考试复习知识点 第1章 计算机基础知识 考试知识点: 1、各种进制之间的转换 (1)各种进制转换为十进制数 方法:各位按权展开相加即可。 (2)十进制数转换为各种进制 方法:整…

将VM虚拟机Ubuntu20.04系统扩容

一、拓展虚拟机硬盘空间 随着学习的深入,虚拟机里面的内容越来越多,我们可能会面临着硬盘空间不足的问题。今天我们就来沉浸式体验一把给虚拟机扩容。 二、拓展VM虚拟机硬盘前须知 在硬盘拓展时需要注意的一点是有快照的话拓展不了说是,先删除…

分类规则挖掘(一)

目录 一、分类问题概述(一)分类规则挖掘(二)分类规则评估(三)分类规则应用 二、k-最近邻分类法 一、分类问题概述 动物分类:设有动物学家陪小朋友林中散步,若有动物突然从小朋友身边…

深度学习500问——Chapter08:目标检测(7)

文章目录 8.3.8 RFBNet 8.3.9 M2Det 8.3.8 RFBNet RFBNet有哪些创新点 1. 提出RF block(RFB)模块 RFBNet主要想利用一些技巧使得轻量级模型在速度和精度上达到很好的trade-off的检测器。灵感来自人类视觉的感受野结构Receptive Fields(RFs…

gin-vue-blog 前后端分离项目(已经部署)

gin-vue-blog 前台: 后台: 1.数据库设计:https://blog.csdn.net/m0_73337964/article/details/138137629?spm1001.2014.3001.5501 2.RESTFUL API路由实现:https://blog.csdn.net/m0_73337964/article/details/138321631?spm1…

5G Advanced and Release18简述

5G Advanced 5G-Advanced, formally defined in 3GPP Release 18, represents an upgrade to existing 5G networks. 先睹robot总结的5G Advanced的advancements: Enhanced Mobility and Reliability: 5G-Advanced will support advanced applications with improved mobility…

【人工智能Ⅱ】实验6:目标检测算法

实验6:目标检测算法 一:实验目的与要求 1:了解两阶段目标检测模型 RCNN或Faster RCNN模型的原理和结构。 2:学习通过RCNN或Faster RCNN模型解决目标检测问题。 二:实验内容 常用的深度学习框架包括PyTorch和PaddleP…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130,总分400,复试表现中规中矩(初试分数查到才开始复习复试,希望大家汲取教训,初试考完就可以录取开始准备复试),交大初试比重很高,良心学校&#x…

STM32G474 CMAKE VSCODE FREERTOS 导入

一. 文件准备 1. 首先下载 freertos FreeRTOS - Free RTOS Source Code Downloads, the official FreeRTOS zip file release download 2. 移动 FreeRTOS-Kenel 到 moto_control 文件夹下。 3. 将 FreeRTOSConfig.h 放到 /Core/Inc 下面 4. 由于 FreeRTOSConfig.h 中使用了…

数据库(MySQL)—— 事务

数据库(MySQL)—— 事务 什么是事务事务操作未控制事务测试异常情况 控制事务一查看/设置事务提交方式:提交事务回滚事务 控制事务二开启事务提交事务回滚事务 并发事务问题脏读(Dirty Read)不可重复读(Non…

【LLM第二篇】stable diffusion扩散模型、名词解释

最近在整理大模型的相关资料,发现了几个名词,不是很懂,这里整理一下: stable diffusion(SD)模型: 扩散模型(Diffusion model)的一种,主要用于生成高质量的图像&#xf…

分布式与一致性协议之一致哈希算法(三)

一致哈希算法 如何使用一致哈希算法实现哈希寻址 我们一起来看一个例子,对于1000万个key的3节点KV存储,如果我们使用一致哈希算法增加1个节点,即3节点集群变为4节点集群,则只需要迁移24.3%的数据,如代码所示 package mainimpor…

IoTDB 入门教程 基础篇⑧——数据库管理工具 | IDEA 连接 IoTDB

文章目录 一、前文二、下载iotdb-jdbc三、IDEA驱动四、IDEA连接数据库五、数据库应用六、其他 一、前文 IoTDB入门教程——导读 二、下载iotdb-jdbc 下载地址org/apache/iotdb/iotdb-jdbc:https://maven.proxy.ustclug.org/maven2/org/apache/iotdb/iotdb-jdbc/ 本…

Hive大数据任务调度和业务介绍

目录 一、Zookeeper 1.zookeeper介绍 2.数据模型 3.操作使用 4.运行机制 5.一致性 二、Dolphinscheduler 1.Dolphinscheduler介绍 架构 2.架构说明 该服务内主要包含: 该服务包含: 3.FinalShell主虚拟机启动服务 4.Web网页登录 5.使用 5-1 安全中心…

022、Python+fastapi,第一个Python项目走向第22步:ubuntu 24.04 docker 安装mysql8集群、redis集群(三)

这次来安装mysql8了,以前安装不是docker安装,这个我也是第一次,人人都有第一次嚒 前言 前面的redis安装还是花了点时间的,主要是网上教程,各有各的好,大家千万别取其长处,个人觉得这个环境影响…

一、Mysql索引的底层数据结构与算法

Mysql索引的底层数据结构与算法 前言一、索引数据结构为什么 MySQL 的索引要使用 B 树而不是其他树形结构?比如 B 树?为什么InnoDB存储引擎选择使用Btree索引结构? 二、索引分类思考:以下SQL语句,那个执行效率高?为什么&#xf…

Stable Diffusion AI绘画

我们今天来了解一下最近很火的SD模型 ✨在人工智能领域,生成模型一直是研究的热点之一。随着深度学习技术的飞速发展,一种名为Stable Diffusion的新型生成模型引起了广泛关注。Stable Diffusion是一种基于概率的生成模型,它可以学习数据的潜…

数据仓库实验三:分类规则挖掘实验

目录 一、实验目的二、实验内容和要求三、实验步骤1、创建数据库和表2、决策树分类规则挖掘(1)新建一个 Analysis Services 项目 jueceshu(2)建立数据源视图(3)建立挖掘结构 DST.dmm(4&#xff…