Буфер клавиатуры и процессор

479
Newbie

Используют ли современные компьютеры полнодуплексную или полудуплексную связь между буфером клавиатуры и процессором или их смешанный? Если мы вводим некоторые команды в терминале, я предполагаю, что это полудуплекс, потому что эта команда выполняется после нажатия Enter, где используется дуплекс?

0
А? Клавиатуры управляются прерываниями. Ничего общего с дуплексом. DavidPostill 7 лет назад 0
[Контроллер клавиатуры (вычисления)] (https://en.wikipedia.org/wiki/Keyboard_controller_ (вычисления)) DavidPostill 7 лет назад 0
@DavidPostill Я согласен. Я и другой человек представили ответ, чтобы попытаться объяснить разницу. Обратная связь / изменения / негативные соглашения приветствуются LOL. DrZoo 7 лет назад 0
@DrZoo Ответы в порядке. Я проголосовал за закрытие как неясное, так как я понятия не имею, что пользователь действительно хочет узнать. DavidPostill 7 лет назад 1

2 ответа на вопрос

0
DrZoo

Я бы сказал, что современные ПК затрудняют изображение клавиатуры как дуплексного оборудования. Разница между полудуплексом и дуплексом заключается в возможности отправлять и получать данные одновременно. С клавиатурой клавиатура отправляет ключи в буфер для использования ЦП по очереди.

В настоящее время прерывание процессора используется для проверки нажатия клавиш. Это происходит несколько раз в секунду. Сгенерированное прерывание затем записывает нажатия клавиш в буфере клавиатуры для процессора и использует его соответственно.

При этом процессор никогда не помещает данные в очередь для отправки на клавиатуру.

Основываясь на этой вики-статье о клавиатурных буферах, я могу лишь полу-понять полудуплексную клавиатуру на терминалах старой школы. Даже в старых школьных системах я бы воспринимал это скорее как полудуплексную систему, а не как полудуплексную клавиатуру.

Терминал был очень плохим примером того, что я пытаюсь сказать, я просто думал об общих протоколах связи между клавиатурой и процессором. Newbie 7 лет назад 0
@Newbie Вы читали статью в вики? «В полудуплексных системах нажатия клавиш отображаются локально на компьютерном терминале. Пользователь может видеть командную строку на своем терминале и редактировать ее до ее передачи на основной компьютер. Таким образом, буфер является локальным». Как я объяснил в своем ответе, полудуплекс - это вы либо отправляете **, либо ** получаете данные. Полнодуплексный режим позволяет отправлять ** И ** получать данные одновременно. На терминале вы либо набираете команду ** ИЛИ ** выполняете команду. Вы не можете набрать новую команду, пока она выполняется. Таким образом, полудуплекс. DrZoo 7 лет назад 0
0
dirkt

На «современных» компьютерах вы можете подключить клавиатуру через USB или через порт клавиатуры PS / 2. Оба используют полудуплексный протокол (данные могут отправляться одновременно только в одном направлении, а не в обоих направлениях одновременно). Это не особенно важно, потому что единственные данные, которые отправляются на клавиатуру, - это включение и выключение светодиодов. Таким образом, большая часть данных постоянно поступает с клавиатуры на компьютер. Кроме того, человек не может нажимать клавиши достаточно быстро, чтобы насытить линию.

Если мы вводим некоторые команды в терминале, я предполагаю, что это полудуплекс, потому что эта команда выполняется после нажатия Enter, где используется дуплекс?

Это не имеет ничего общего с «дуплексом» или «полудуплексом», возможно, вы неправильно поняли значение слов.

Спасибо за ответ, и да, я не понял, во всяком случае, я понимаю, что вы поняли, что я пытаюсь сказать, и дали мне хороший ответ. Newbie 7 лет назад 0
Я не верю, что индикаторы клавиатуры имеют данные, которые отправляются обратно на клавиатуру. Это данные, которые обрабатываются локально аппаратными средствами клавиатуры, просто открывая или закрывая логические вентили, чтобы разрешить или отключить питание от освещения. Процессор не посылает сигнал «выключи свет». DrZoo 7 лет назад 0
@DrZoo: для PS / 2 см. [Здесь] (http://www.computer-engineering.org/ps2keyboard/). Команда для установки светодиодов `0xED`. Для получения информации о USB см. [Здесь] (http://www.usb.org/developers/hidpage/HID1_11.pdf). Существуют примеры выходных дескрипторов HID для установки индикаторов клавиатуры, и см. Приложение C, где четко сказано: «Синхронизация между состояниями светодиодов и событиями CAPS LOCK, NUM LOCK, SCROLL LOCK, COMPOSE и KANA поддерживается хостом, а НЕ клавиатурой». dirkt 7 лет назад 0
@dirkt USB-страница была плотной. Я нашел это в PS / 2, хотя. Спасибо! DrZoo 7 лет назад 0