В настоящее время я готовлюсь к экзамену по информатике и наткнулся на концепцию, которая несколько озадачила меня.
Когда вы набираете клавишу на клавиатуре, символ ASCII передается в CPU. После получения этого символа CPU выводит тот же символ на экран. Этот процесс называется эхом. Вместо того, чтобы задействовать ЦП, почему бы нам просто не выполнить этот процесс эха внутри клавиатуры / экрана, чтобы ЦП мог выполнять другую полезную работу?
Теперь, на интуитивном уровне, я чувствую, что это потому, что нет определенного блока клавиатуры / экрана, а ЦП - это устройство, которое отвечает за связь между экраном и клавиатурой через сеть соединений. Тем не менее, я чувствую, что упоминание клавиатуры / экрана может означать, что я упускаю важную концепцию. Это тот случай? Почему мы задействуем процессор в процессе эха?
Ответы:
Разрешение компьютеру видеть каждый символ в том виде, в котором он напечатан, позволяет программистам сделать пользовательский интерфейс более динамичным.
Когда серьезный компьютер был размером с несколько вертикальных холодильников и компьютеры работали на вводе пользователем строки одновременно, ввод с терминала обрабатывался, как вы описали. Вы набрали строку текста на терминале, который отображал ее локально (часто на бумаге). Только когда вы нажали клавишу ENTER или RETURN, текст был отправлен на мэйнфрейм или мини-компьютер для обработки.
Но даже в то время инженеры того времени осознали преимущество того, что компьютер мог видеть ввод пользователя раньше. Завершение команды, когда вы вводите первые несколько букв команды, а остальные заполняет компьютер, было изобретено в середине 1960-х годов. Эта функция была скопирована и улучшена в течение многих лет и теперь доступна во всех современных оболочках UNIX, а также под Windows.
Разрешение процессору видеть каждый символ в том виде, в каком оно набрано, также позволяет оболочкам предлагать функции редактирования командной строки и истории, намного превосходящие возможности, которые мог бы предоставить тупой терминал. Клавиша может позволить вам вернуться назад к списку команд, которые вы ранее набрали, выбрать одну, а затем слегка отредактировать ее, прежде чем нажать RETURN, чтобы выполнить ее. Текст может быть вырезан и вставлен между командными строками, возможно, потому что процессор имеет доступ к предыдущим командам, а терминал - нет. Имена файлов, а также команды могут быть выполнены на основе частичного ввода, что опять же возможно, поскольку ЦП имеет доступ к именам файлов в файловой системе, а терминал - нет.
источник
Давать компьютеру возможность видеть каждый символ в том виде, в котором он напечатан, НЕ ОБЯЗАТЕЛЬНО, чтобы сделать пользовательский интерфейс более динамичным.
Старые ASCII-терминалы обычно представляли собой одну клавиатуру + экранный набор или клавиатуру + печатающую головку (называемую затем телетайпом). Так что местное эхо было возможно. Ввод был отправлен целыми строками, и именно для этого была введена клавиша ввода (она также называлась возврат каретки). Это было удобно, когда ваш терминал был подключен через медленные телефонные линии к удаленному компьютеру. У меня все еще есть модем на 300 бод, который я использовал тогда, что немного меньше, чем 300 бит / с. И это было не самое медленное, что я использовал. Вы не хотели ждать эха.
Кайлс Джонс дал вам несколько веских причин, чтобы компьютер контролировал эхо. Такие как редактирование истории и командной строки. Но даже эти причины можно было преодолеть с помощью местного эхо. Мой старый экранный терминал ascii (купленный в 1980 году и который я больше не смею подключать к розетке, так как конденсаторы должны быть в плачевном состоянии) имел (все еще имеет) около 12 экранов (экран 24 строки по 80 символов) истории и возможности локального редактирования: терминал имел собственный локальный процессор ... Я не уверен, что это то, что вы имели в виду. Это все из памяти, поэтому я надеюсь, что это близко к истине, но поиск руководства занял бы у меня некоторое время.
Итак, в основном у меня был компьютер с интерфейсом пользователя, подключенный к другому компьютеру. На самом деле, всегда будет какое-то оборудование для обработки эхом, поэтому ваш вопрос больше в том, уместно ли иметь сложное оборудование для этого с процессором или с более простым оборудованием (не способным выполнять сложную работу). Создатели моего терминала решили, что это уместно, и сделали его сложным терминалом с тупым протоколом связи с компьютером, который тогда был стандартным.
Сначала я подумал о том, чтобы сказать, что хорошей причиной для прохождения процессора является то, что приложения теперь используют окна со всеми видами функций и различными шрифтами, и что для этого требуется мощность компьютера, чтобы получить соответствующую гибкость, то есть простой экран. Клавиатура не может предложить.
Но я вовремя вспомнил (память трудно вспомнить), что это неверно. В начале 1980 года люди разрабатывали растровую графику (так назывался тип экрана, который вы сейчас используете, хотя он был ЭЛТ, а не ЖК). Некоторые из работ следовали традиционному виду терминала, создавая очень сложные графические терминалы с множеством ветров и шрифтов и т. Д. Одним из них был BLIT , который был предметом многих экспериментов, таких как печально известные раки Карделли .
Это не обязательно означает, что процессор, на котором запущено приложение, не видит символы. Но это не обязательно. Терминал был достаточно мощным, чтобы выполнять очень сложную работу самостоятельно.
Компьютерная архитектура тестировала множество решений, особенно когда стали доступны более быстрые сети. Вы обеспокоены терминалом, но в некоторых моментах проблема была связана с диском (я думаю, в основном с ценой, а также с управлением). Таким образом, у нас было какое-то время бездисковая рабочая станция (т.е. персональные компьютеры). Они будут включать процессор, экран, клавиатуру и оперативную память, но не диск. Дисковое пространство было в сети, и вы просто запросили файловое пространство в сети. Даже обмен виртуальной памяти осуществлялся через сеть.
Итак, вывод таков: сложный интерфейс (например), использующий окна, различные шрифты, программируемые клавиши, редактирование в командной строке, синхронизация между вводом и выводом, а что нет, требует реальной вычислительной мощности. Даже с очень слабыми возможностями требуется некоторое оборудование. Затем эта вычислительная мощность может быть подключена к компьютеру и его процессору или может быть независимой от него и подключена более или менее удаленно. То же самое можно сказать и о других ресурсах.
Но все очень относительно.
Последнее замечание Первым буквенно-цифровым терминалом экрана, который я когда-либо использовал, был Tektronix в 1974 году, который шел с клавиатурой. Экран и клавиатура были настолько плотно соединены, что нам пришлось заплатить кому-то за то, чтобы модифицировать его, заменив схему паяльником так, чтобы он работал должным образом. Но я должен остановить свой бесконечный поток историй.
источник
Как процессор не может быть вовлечен? Как компьютер узнает, печатать ли вообще что-либо на экран без участия процессора? Как он узнает, где печатать персонажа? Как бы он знал, какой шрифт использовать? Как бы он знал, как сделать этот шрифт?
источник