- •1. Загальна структура і функції комп’ютера
- •2. Продуктивність комп’ютера
- •3. Швидкодія мікропроцесорів
- •4. Система магістралі
- •5.Зв’язок між компонентами комп’ютера через магістраль
- •6.Магістраль рсі
- •7. Внутрішня пам’ять
- •8.Функції і характеристики підсистеми пам’яті
- •Размещение
- •10. Сучасні тенденції в організації модулів пам’яті
- •11. Стек
- •12.Зовнішня память
- •13.Збереження інформації на магнітних дисках
- •15.Оптична пам'ять
- •16. Збереження інформації на магнітних стрічках
- •17. Введення – виведення
- •18.Програмне введення –виведення
- •19. Введення-виведення по прериванню
- •20.Прямий доступ до пам’яті
- •Зовнішні інтерфейси….. Типы интерфейсов
- •Концепція організації операційних систем
- •Планування завдань
- •Керування розподілом пам’яті
- •Вектори обчислень
- •Арифметико-логічний пристрій
- •Система команд комп’ютера
- •Характеристики та функції команд
- •Структура і функції центрального процесора
- •30.Структура центрального процесора
- •31.Організація набору регістрів
- •32. Конвеєрна обробка команд
- •33. Комп’ютери зі скороченим набором команд
- •34. Організація конвеєру в risc-процесорах
- •35. Порівняльні характеристики risc і сisc комп’ютерів
- •36. Суперскалярні процесори
- •37. Паралелізм на рівні машинних команд
- •38. Функції пристрою керування
- •39. Мікрооперації
- •40. Управління роботою процесора
- •41. Пристрої управління із жорсткою логікою
- •42. Мікропрограмне керування
- •43. Управління послідовністю виконання мікрокоманд
- •44. Використання мікропрограмування
- •45. Параллельна обробка
- •46. Організація мікропроцесорних систем
- •47. Симетричні мультипроцесорні системи
- •48. Інформаційна цілісність кешів та протокол mesi
- •49. Кластери
- •50. Системи зі змінним часом звернення до пам’яті
19. Введення-виведення по прериванню
Методика программируемого ввода-вывода приводит к нерациональному расходованию времени процессора, который фактически простаивает, выжидая, пока внешнее устройство завершит начатую операцию. В результате страдает производительность вычислительной системы.
Альтернативная методика предполагает, что процессор, дав команду модулю ввода-вывода на выполнение операции, сам переключается на выполнение какой-либо другой задачи или фрагмента программы. В свою очередь, модуль ввода-вывода, получив от процессора команду, выполняет необходимые операции и, завершив их, формирует сигнал запроса прерывания, который передается процессору и извещает его о том, что выполнение затребованной операции окончено. После этого процессор возвращается к выполнению ранее прерванной программы и, если это предусмотрено в программе, пересылает полученные данные в память.
Рассмотрим, как реализуется эта методика. Начнем с операций, выполняемых модулем ввода-вывода. При вводе данных модуль получает от процессора команду READ. Затем модуль самостоятельно выполняет все действия, необходимые для того, чтобы получить от внешнего устройства очередную порцию данных и записать ее в свой буфер. После этого модуль формирует сигнал запроса прерывания процессора на одной из линий управления системной магистрали и ждет, пока от процессора не поступит команда выставить содержимое регистра на линии данных. Когда такой сигнал поступает, модуль выставляет информацию на линии данных и после этого готов принять следующую команду обмена от процессора.
Участие процессора во всей этой процедуре выглядит следующим образом. Во-первых, процедура начинается по инициативе процессора, который передает модулю команду READ. После этого процессор может перейти к выполнению дальнейших инструкций программы, не связанных с затребованными данными (ответственность за то, что в этих инструкциях не используются данные, которые ожидается получить от внешнего устройства, возлагается на программиста), или вообще переключиться на выполнение другой программы. В конце каждого цикла выполнения инструкции процессор проверяет, не поступил ли сигнал запроса прерывания (от этом шла речь в главе 3). Если окажется, что такой сигнал поступил от модуля ввода-вывода, процессор выполняет операции, сохраняющие текущий контекст выполняемой программы (т.е. состояние счетчика команд и внутренних регистров), и переключается на программу обработки прерывания. Эта программа, в частности, может выполнять считывание данных с модуля ввода-вывода и передачу их в оперативную память. После завершения программы обработки прерывания процессор восстанавливает сохраненный контекст прерванной программы и возобновляет ее выполнение с той же точки, как будто никакого прерывания и не было.
20.Прямий доступ до пам’яті
Хотя метод ввода-вывода по прерыванию и позволяет более эффективно использовать ресурсы процессора, чем метод программируемого ввода-вывода, все же и в этом варианте роль процессора в перемещении данных между внешним устройством и оперативной памятью весьма существенна. В обоих вариантах все передаваемые данные так или иначе проходят через процессор. Следовательно, можно так сформулировать два "врожденных" недостатка обоих описанных выше методов.
Скорость передачи данных ограничивается скоростью, с которой процесспособен анализировать состояние внешнего устройства и обслуживать его.
Процессор непосредственно вовлекается в процесс передачи данных; перемещение порции данных между памятью и внешним устройством тpeб.выполнения процессором нескольких команд программы.
Существуют определенные аргументы в пользу каждого из двух описанных методов. Рассмотрим процедуру перемещения блока данных. При использовании метода программируемого ввода-вывода процессор полностью переключается на задачу обмена данными и может передавать их с максимальной скоростью, которую допускает внешнее устройство. Но за скорость приходится платить тем, что при этом процессор занимается совершенно тривиальными операциями, в то время как его можно было бы загрузить чем-то более полезным. При использовании метода ввода-вывода по прерыванию процессор избавляется от необходимости выполнять тривиальные операции, но скорость обмена при этом несколько снижается.
Недостатки обоих методов особенно сильно проявляются при передаче больших объемов информации. В этом случае гораздо более эффективным является метод прямого доступа к памяти— DMA (Direct memory access).