Почему процессор задействован во время эхо клавиатуры?


9

В настоящее время я готовлюсь к экзамену по информатике и наткнулся на концепцию, которая несколько озадачила меня.

Когда вы набираете клавишу на клавиатуре, символ ASCII передается в CPU. После получения этого символа CPU выводит тот же символ на экран. Этот процесс называется эхом. Вместо того, чтобы задействовать ЦП, почему бы нам просто не выполнить этот процесс эха внутри клавиатуры / экрана, чтобы ЦП мог выполнять другую полезную работу?

Теперь, на интуитивном уровне, я чувствую, что это потому, что нет определенного блока клавиатуры / экрана, а ЦП - это устройство, которое отвечает за связь между экраном и клавиатурой через сеть соединений. Тем не менее, я чувствую, что упоминание клавиатуры / экрана может означать, что я упускаю важную концепцию. Это тот случай? Почему мы задействуем процессор в процессе эха?


Как работают ввод с клавиатуры и вывод текста? может представлять интерес. Он дает общий обзор обработки, которая сегодня происходит в типичной операционной системе для компьютеров в стиле ПК.
Жиль "ТАК - перестань быть злым"

Если бы я мог голосовать, чтобы закрыть, я бы. Это не информатика. Это больше подходит для StackOverflow или где-то еще, ориентированных на компьютерное оборудование и низкоуровневое программирование.
Майлз Роу

Ответы:


6

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

Когда серьезный компьютер был размером с несколько вертикальных холодильников и компьютеры работали на вводе пользователем строки одновременно, ввод с терминала обрабатывался, как вы описали. Вы набрали строку текста на терминале, который отображал ее локально (часто на бумаге). Только когда вы нажали клавишу ENTER или RETURN, текст был отправлен на мэйнфрейм или мини-компьютер для обработки.

Но даже в то время инженеры того времени осознали преимущество того, что компьютер мог видеть ввод пользователя раньше. Завершение команды, когда вы вводите первые несколько букв команды, а остальные заполняет компьютер, было изобретено в середине 1960-х годов. Эта функция была скопирована и улучшена в течение многих лет и теперь доступна во всех современных оболочках UNIX, а также под Windows.

Разрешение процессору видеть каждый символ в том виде, в каком оно набрано, также позволяет оболочкам предлагать функции редактирования командной строки и истории, намного превосходящие возможности, которые мог бы предоставить тупой терминал. Клавиша может позволить вам вернуться назад к списку команд, которые вы ранее набрали, выбрать одну, а затем слегка отредактировать ее, прежде чем нажать RETURN, чтобы выполнить ее. Текст может быть вырезан и вставлен между командными строками, возможно, потому что процессор имеет доступ к предыдущим командам, а терминал - нет. Имена файлов, а также команды могут быть выполнены на основе частичного ввода, что опять же возможно, поскольку ЦП имеет доступ к именам файлов в файловой системе, а терминал - нет.


Это был отличный ответ, спасибо!
MMMMMCK

4

Давать компьютеру возможность видеть каждый символ в том виде, в котором он напечатан, НЕ ОБЯЗАТЕЛЬНО, чтобы сделать пользовательский интерфейс более динамичным.

Старые ASCII-терминалы обычно представляли собой одну клавиатуру + экранный набор или клавиатуру + печатающую головку (называемую затем телетайпом). Так что местное эхо было возможно. Ввод был отправлен целыми строками, и именно для этого была введена клавиша ввода (она также называлась возврат каретки). Это было удобно, когда ваш терминал был подключен через медленные телефонные линии к удаленному компьютеру. У меня все еще есть модем на 300 бод, который я использовал тогда, что немного меньше, чем 300 бит / с. И это было не самое медленное, что я использовал. Вы не хотели ждать эха.

Кайлс Джонс дал вам несколько веских причин, чтобы компьютер контролировал эхо. Такие как редактирование истории и командной строки. Но даже эти причины можно было преодолеть с помощью местного эхо. Мой старый экранный терминал ascii (купленный в 1980 году и который я больше не смею подключать к розетке, так как конденсаторы должны быть в плачевном состоянии) имел (все еще имеет) около 12 экранов (экран 24 строки по 80 символов) истории и возможности локального редактирования: терминал имел собственный локальный процессор ... Я не уверен, что это то, что вы имели в виду. Это все из памяти, поэтому я надеюсь, что это близко к истине, но поиск руководства занял бы у меня некоторое время.

Итак, в основном у меня был компьютер с интерфейсом пользователя, подключенный к другому компьютеру. На самом деле, всегда будет какое-то оборудование для обработки эхом, поэтому ваш вопрос больше в том, уместно ли иметь сложное оборудование для этого с процессором или с более простым оборудованием (не способным выполнять сложную работу). Создатели моего терминала решили, что это уместно, и сделали его сложным терминалом с тупым протоколом связи с компьютером, который тогда был стандартным.

Сначала я подумал о том, чтобы сказать, что хорошей причиной для прохождения процессора является то, что приложения теперь используют окна со всеми видами функций и различными шрифтами, и что для этого требуется мощность компьютера, чтобы получить соответствующую гибкость, то есть простой экран. Клавиатура не может предложить.

Но я вовремя вспомнил (память трудно вспомнить), что это неверно. В начале 1980 года люди разрабатывали растровую графику (так назывался тип экрана, который вы сейчас используете, хотя он был ЭЛТ, а не ЖК). Некоторые из работ следовали традиционному виду терминала, создавая очень сложные графические терминалы с множеством ветров и шрифтов и т. Д. Одним из них был BLIT , который был предметом многих экспериментов, таких как печально известные раки Карделли .

Это не обязательно означает, что процессор, на котором запущено приложение, не видит символы. Но это не обязательно. Терминал был достаточно мощным, чтобы выполнять очень сложную работу самостоятельно.

Компьютерная архитектура тестировала множество решений, особенно когда стали доступны более быстрые сети. Вы обеспокоены терминалом, но в некоторых моментах проблема была связана с диском (я думаю, в основном с ценой, а также с управлением). Таким образом, у нас было какое-то время бездисковая рабочая станция (т.е. персональные компьютеры). Они будут включать процессор, экран, клавиатуру и оперативную память, но не диск. Дисковое пространство было в сети, и вы просто запросили файловое пространство в сети. Даже обмен виртуальной памяти осуществлялся через сеть.

Итак, вывод таков: сложный интерфейс (например), использующий окна, различные шрифты, программируемые клавиши, редактирование в командной строке, синхронизация между вводом и выводом, а что нет, требует реальной вычислительной мощности. Даже с очень слабыми возможностями требуется некоторое оборудование. Затем эта вычислительная мощность может быть подключена к компьютеру и его процессору или может быть независимой от него и подключена более или менее удаленно. То же самое можно сказать и о других ресурсах.

Но все очень относительно.

Последнее замечание Первым буквенно-цифровым терминалом экрана, который я когда-либо использовал, был Tektronix в 1974 году, который шел с клавиатурой. Экран и клавиатура были настолько плотно соединены, что нам пришлось заплатить кому-то за то, чтобы модифицировать его, заменив схему паяльником так, чтобы он работал должным образом. Но я должен остановить свой бесконечный поток историй.


То, что было старым, снова новое. Бездисковые рабочие станции вернулись!
dfeuer

-1

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


Это тоже моя мысль. К сожалению, я был «одарен» с профессором, который является большим поклонником непонятных вопросов, поэтому я решил, что осторожно играть не было плохой идеей.
MMMMMCK

4
Хм, дети в эти дни. Телетайпы были когда-то вещь. У них был шрифт в ПЗУ (возможно, в ОЗУ для некоторых продвинутых моделей). Они сохранили и распечатали строку, а затем отправили ее на компьютер. Затем пришли терминалы с экраном; они сохраняли память о текущей позиции символа и могли понимать команды пользователя или процессора для перемещения курсора, установки текстовых атрибутов и т. д.
Жиль "ТАК - перестать быть злым"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.