¿Cuáles son los procesos que ocurren cuando se presiona el teclado de una computadora?

Como recuerdo, en el IBM AT (1984) y sus clones (que son todas computadoras modernas) que tenían un estilo AT (DIN grande de 5 pines) o PS / 2 (DIN pequeño de 5 pines), utilizaron un microcontrolador 8042 programado con código para tomar los datos del código de escaneo desde el teclado y colocarlos en un pequeño búfer de aproximadamente 15 códigos de escaneo (estados de teclas arriba y abajo) en el 8042. Cuando hay datos en el búfer, el controlador de interrupción 8259 (PIC) (o equivalente), ve la línea de interrupción desde el 8042 en cuyo punto el código de la computadora realiza una lectura de los datos del búfer en el 8042, vaciéndolo en uno, y convierte los códigos de escaneo para controlar los estados de cosas como mayúsculas y minúsculas, desplazamiento , etc., además de ingresar teclas y luego eliminar la interrupción actual del teclado. La computadora puede crear su propio buffer que puede ser más grande.

Para un teclado USB, la electrónica y el funcionamiento se basan en la electrónica del teclado y su código de controlador USB.

Apéndice:

En 1984, el microcontrolador 8042 que IBM usó para el manejo del teclado del AT tenía una ROM que contenía código. Dado que el código estaba oculto internamente, Phoenix Technologies contrató a Malcolm Pordes para realizar ingeniería inversa de lo que hizo al observar lo que hacían las señales de hardware en respuesta a comandos externos, y luego escribir un código equivalente para realizar las mismas funciones (o al menos las funciones normales) hubo algunos otros que solo IBM usó), de modo que se podía vender un microcontrolador clon 8042 junto con Phoenix AT BIOS.

Depende de si es un teclado PS / 2 de la vieja escuela o un teclado USB. Un teclado PS / 2 en realidad interrumpe los procesos de una CPU cuando se presiona una tecla (sin embargo, con la velocidad de la CPU esto es casi indetectable). Un teclado USB se pincha continuamente ya que la computadora envía innumerables oyentes cada segundo para ver si se presiona la tecla.

More Interesting

Cómo acceder a mi computadora Linux desde cualquier parte del mundo a través de ssh

¿La instalación de Windows en una computadora MacBook Pro me permitirá utilizar programas de modelado como CATIA, SolidWorks y otro software basado en Windows?

¿Cuáles son algunos softwares obligatorios para una nueva PC?

Ahora que todas las MacBooks tienen componentes pegados, ¿cuál es la mejor computadora portátil alternativa que puede arreglar usted mismo?

¿Cuáles son algunos ejemplos y usos de dispositivos externos para computadoras?

¿Cuál es una buena compilación de PC para la edición de video bajo 25000?

¿Qué CPU se recomienda para jugar juegos exigentes a 1080p y ver videos HD al mismo tiempo?

¿Cuál es una mejor CPU para juegos, una AMD Athlon X4 860K 3.7 GHz o una FX-6300 3.5 GHz 6-Core Black Edition?

¿Cuáles son algunos de los primeros pasos esenciales que debe seguir un desarrollador de software después de pasar de una computadora portátil con Windows 7 a una Macbook Pro?

¿Puedo reflejar la pantalla de mi PC en mi televisor con un cable HDMI? Funciona con mi computadora portátil, pero aparentemente no con mi PC.

Mi nuevo HDD USB WD Metal de 1TB hace un ruido de arañazo cuando me pongo la oreja. ¿Por qué?

¿Cambiar el disco duro a un SSD realmente acelera la computadora portátil?

Al eliminar un archivo, ¿por qué la computadora no puede volver a convertir los datos a 0? ¿No haría eso para que nadie pueda recuperar esos datos en lugar de esperar a que la computadora los sobrescriba en algún momento?

¿Qué se entiende por Apolo 11 tenía la potencia informática de un teléfono celular 2010? ¿Eso significa que todas las computadoras de la NASA?

¿Qué preferirás al comprar una computadora?