Чому процесор залучається під час луні клавіатури?


9

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

Коли ви вводите клавішу на клавіатурі, символ ASCII передається CPU. Після отримання цього символу ЦП видає той же символ на екран. Цей процес називається відлунням. Замість того, щоб брати участь у процесорі, чому б ми просто не провели цей ехо-процес у клавіатурі / екрані, щоб процесор міг вільно виконувати іншу корисну роботу?

Зараз, інтуїтивно, я відчуваю, що це відбувається тому, що немає визначеної клавіатури / екранного блоку, а процесор - це пристрій, який відповідає за зв'язок між екраном і клавіатурою через мережу взаємозв'язку. Однак мені здається, що той факт, що згаданий блок клавіатури / екрана, може означати, що я пропускаю важливу концепцію. Це так? Чому ми залучаємо процесор до ехо-процесу?


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

Якби я міг проголосувати за закриття, я би. Це не інформатика. Він більше підходить для StackOverflow або десь іншого, орієнтованого на апаратне забезпечення комп'ютера та програмування низького рівня.
Майлз Рут

Відповіді:


6

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

Коли колись серйозний комп'ютер був розміром з декількох вертикальних холодильників та комп'ютерів, що працювали на введенні користувачем рядку, вхід терміналу оброблявся так, як ви описали. Ви набрали рядок тексту на терміналі, який відображався локально (часто на папері). Лише при натисканні клавіші ENTER або RETURN текст був надісланий на основний кадр або міні-комп'ютер для обробки.

Але навіть тоді перевага того, що дозволяти комп’ютеру побачити введення користувача на ранньому етапі, була зрозуміла інженерами того часу. Завершення команд, де ви вводите перші декілька літер команди, а комп'ютер заповнює решту, було винайдено в середині 1960-х. Ця функція була скопійована та вдосконалена протягом багатьох років, де вона знаходиться сьогодні, доступна у всіх сучасних оболонках UNIX та під Windows.

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


Це була відмінна відповідь, дякую!
MMMMMCK

4

Не дозволяючи комп'ютеру бачити кожного символу під час його введення, НЕ ПОТРІБНО ПОТРІБНО, щоб зробити користувальницький інтерфейс більш динамічним.

Старі термінали ASCII поставлялися, як правило, одним клавіатурним пакетом + екраном, або клавіатурою + друкувальною головкою (називається тоді часто телетайпом). Так місцеве відлуння було можливим. Введення було надіслано цілими рядками, і саме для цього був ключ введення (його також називали carriage-return). Це було зручно, коли ваш термінал був підключений через повільні телефонні лінії до віддаленого комп'ютера. У мене все ще використовується модем 300 бодів, який я використовував тоді, що трохи менше 300 біт / секунду. І це було не найповільніше, чим я користувався. Ти не хотів чекати відлуння.

Кайлс Джонс дав тобі кілька вагомих причин, щоб ехо контролювало комп’ютер. Такі як історія та редагування командного рядка. Але навіть ці причини можна було б подолати локальним відлунням. Мій старий термінал Ascii (куплений у 1980 році, і який я вже не наважуюся підключати до розетки, оскільки конденсатори повинні бути в сумному стані) мав (досі) приблизно 12 екранів (екран - 24 рядки на 80 символів), що вартує історії та локальні засоби редагування: у терміналу був власний локальний процесор ... Я не впевнений, що це ви мали на увазі. Це все з пам’яті, тому я сподіваюся, що це близько до істини, але пошук посібника зайняв би у мене певний час.

Отже, в основному у мене був комп'ютер з інтерфейсом користувача, підключений до іншого комп'ютера. Насправді завжди знайдеться певне обладнання для вирішення ехо, тому ваше питання полягає в тому, чи доцільно мати складне обладнання для цього з процесором або з більш простим обладнанням (не в змозі виконати складну роботу). Будівельники мого терміналу вважали це підходящим, і зробили це витонченим терміналом, з німим протоколом зв'язку з комп'ютером, який тоді був стандартним.

Я вперше подумав сказати, що вагомою причиною пройти через центральний процесор буде те, що додатки тепер використовують вікна з усілякими функціями та різними шрифтами, і що для цього потрібна потужність комп'ютера, щоб отримати відповідну гнучкість, що простий екран - клавіатура не може запропонувати.

Але я вчасно згадав (пам'ять важко згадати), що це неправда. На початку 1980-х років люди розробляли растрову графіку (так називали тип екрану, який ви зараз використовуєте, хоч це був CRT, ніж LCD). Деякі роботи дотримувалися традиційного виду терміналів, роблячи дуже складні графічні термінали з декількома віндо і шрифтами і т. Д. Однією з них був БЛІТ , що був предметом багатьох експериментів, таких як сумнозвісні краби Карделлі .

Це не обов'язково означає, що процесор, що працює у програмі, не бачив символів. Але цього не довелося. Термінал був досить потужним, щоб самостійно виконувати дуже складні роботи.

Комп'ютерна архітектура випробовує багато рішень, тим більше, що стали доступні швидші мережі. Ви переймаєтесь терміналом, але в деякі моменти проблема була саме диском (в основному ціною, я думаю, а також управлінням). Таким чином, у нас був час бездискової робочої станції (тобто персональних комп'ютерів). Вони включатимуть процесор, екран, клавіатуру та оперативну пам’ять, але немає диска. Дисковий простір був у мережі, і ви щойно запитували файловий простір у мережі. Навіть обмін віртуальної пам'яті здійснювався через мережу.

Отже, консолідація: складний інтерфейс (наприклад), використання вікон, різних шрифтів, програмованих клавіш, редагування командного рядка, синхронізація між входом і виходом, а що ні, не вимагає реальної потужності обробки. Навіть при дуже слабких можливостях потрібне деяке обладнання. Тоді ця обчислювальна потужність може бути приєднана до комп'ютера та його процесора, або може бути незалежною від нього та підключена більш-менш віддалено. Те саме може бути і в інших ресурсах.

Але все дуже відносно.

Останнє зауваження. Перший буквено-цифровий термінал, який я коли-небудь використовував, був Tektronix в 1974 році, який постачався разом із його клавіатурою. Екран і клавіатура були настільки щільно з'єднані, що нам довелося платити комусь, щоб змінити його, змінивши схему паяльником, щоб він поводився як потрібно. Але я повинен зупинити свій нескінченний потік історій.


Те, що було старим, знову нове. Робочі станції без дисків повернулися!
dfeuer

-1

Як міг CPU НЕ брати участь? Звідки комп’ютер знає, чи друкувати взагалі щось на екрані без участі процесора? Як би знати, де надрукувати персонажа? Як би знати, який шрифт використовувати? Звідки воно може знати, як відтворити цей шрифт?


Це теж моя думка. На жаль, я був "обдарований" професором, який є величезним шанувальником незрозумілих питань готчі, тому я вважав, що грати в безпеку не було поганою ідеєю.
MMMMMCK

4
Хммпф, діти сьогодні. Телетипи були колись справою. Вони мали шрифт у ПЗУ (в оперативній пам'яті, можливо, для деяких просунутих моделей). Вони зберігали та друкували рядок, потім відправляли її на комп’ютер. Потім прийшли термінали з екраном; вони зберегли пам'ять про поточну позиції символу і може розуміти команди від користувача або CPU для переміщення курсора, набір атрибутів тексту і т.д.
Жиля SO- перестати бути злом »
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.